بتاريخ: 3 أبريل 200818 سنة comment_125910 create table area(code number(3) primary key, area varchar(50) not null);جدول المناطق create table side(code number(3) primary key, area varchar(50) not null, constraint fk_area foreign key(code) references area(code)); جدول المدن والمحافظات create table sub_sid(code number(3) not null, sid_no number(5) not null,sid_name varchar(50) not null, primary key (code,sid_no), constraint fk_side foreign key(code) references side(code) on delete cascade); ابغي جدول للاحياء داخل المدن والمحافظات جزاكم الله الف خير وانتظر اجاتكم تقديم بلاغ
بتاريخ: 3 أبريل 200818 سنة comment_125922 السلام عليكماخي العزيز ...اول شي بالنسبة للكود اللي حضرتك كتبتو بالصفحة غير واضح بسبب التغير بين اليمين واليسار للكتابة ولكن بالنسبة لموضوع العناوين والوحدات الادارية فانا استعمل طريقة تعلمتها اثناء العمل وهي تعمل معي بدون مشاكل والطريقة هي تكوين جداول لكل نوع من الوحدات الادارية وربطها مع بعض من خلال المفتاح الاولي والثانوي وعلى سبيل المثال لناخذ نقول ان اكبر وحدة ادارية في الدولة هي المحافظة لذلك نعمل جدول للمحافظات واذا كانت القضاء هي الوحدة الادارية الاصغر فنقوم بعمل جدول يحوي الاقضية مع جعل عمود يربط كل قضاء بمحافظة معينة اي ان العلاقة One to Many ولنقول ان الوحدة الادارية الاصغر هي الناحية بمعنى ان كل قضاء يتكون من عدد من النواحي لذلك بنفس الطرية نعمل جدول للنواحي مع عمود لربط كل ناحية بقضاء معين ونستمر هكذا حتى نصل مثلا الى الوحدة الاصغر. وبهذه الطريقة يمكن ان تسترجع من خلال استعلامات او Query كل وحدة ادارية والمكان الذي تنتمي اليه او الوحدات الادارية التابعة لها.ارجو ان اكون قد فهمت سوالك واستطعت ان اعطيك الاجابة المطلوبة ولو كان عندك اي استفسار او توضيح اخر بخصوص الموضوع فلا تتردد بالكتابة مع الشكر تقديم بلاغ
بتاريخ: 3 أبريل 200818 سنة كاتب الموضوع comment_125941 شكرا اخوي على ردك تلاحظ في الكود فيما يخص المنطقة تم ربطها بالمدن -الى باقي انه لما اربط الاحياء بالمحافظات لا يربط(one to many( تقديم بلاغ
بتاريخ: 8 أبريل 200818 سنة comment_126288 ان شاء الله يكون الحل بتاعى هوه ناتج عن اللى فهمتهانا فكرت فى الموضوع عن طريق SELF JOIN وإليك الحل بالجدول اللى عملته و الداتا اللى اشتغلت عليها CREATE TABLE CITIES (CITY_RECID NUMBER, CITY_CODE NUMBER, CITY_DESC VARCHAR2(20 BYTE), AREA_CODE NUMBER); ALTER TABLE CITIES ADD ( PRIMARY KEY (CITY_RECID)); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (1, 1, 'giza', 0); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (2, 2, 'Omranya', 1); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (3, 3, 'Omranya_sharqya', 2); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (4, 4, 'Omranya_gharbya', 2); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (5, 5, 'NasrElDin', 3); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (6, 6, 'Cairo', 0); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (7, 7, 'Ma3ady', 6); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (10, 9, 'TALBIA_FAISAL', 8); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (9, 8, 'FISAL', 1); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (11, 10, 'HARAM', 1); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (12, 11, 'TALBIA_HARAM', 10); Insert into CITIES (CITY_RECID, CITY_CODE, CITY_DESC, AREA_CODE) Values (13, 0, 'EGYPT', 1000); COMMIT; -----------SELECT STATMENT USER SELF JOIN-----BY SHAHAWY SELECT S.CITY_DESC||' IN ' || C.CITY_DESC LOCATION FROM CITIES C,CITIES S WHERE C.CITY_CODE = S.AREA_CODE ORDER BY C.CITY_DESC; تقديم بلاغ
بتاريخ: 9 أبريل 200818 سنة comment_126364 اخي على ما وفقني الله هذا هو الجدولجدول الدولاسم الدولة كود الدولة جدول المحافظة كود المحافظة اسم المحافظة كود الدولة جدول المنطقة كود المنطقة اسم المنطقة كود الدولة كود المحافظة جدول الدول 1 CREATE TABLE COUNTRY( 2 COD NUMBER , 3 COUNT_NAME VARCHAR2(15), 4* CONSTRAINT COUNTRY_COD_PK PRIMARY KEY(COD)) Table created. SQL> DESC COUNTRY Name Null? Type ----------------------------------------------------- -------- ------------------------------------ COD NOT NULL NUMBER COUNT_NAME VARCHAR2(15) جدول المناطق SQL> CREATE TABLE REGION( 2 COD NUMBER , 3 REG_NAME VARCHAR2(15), 4 COUNT_COD NUMBERعمل حقل يرمز الي كود كانتري حتي يتم الربط عليه , 5 CONSTRAINT REG_COD_PK PRIMARY KEY(COD), 6 CONSTRAINT REG_COUNT_COD_FK FOREIGN KEY (COUNT_COD) REFERENCES COUNTRY(COD)); Table created. جدول الأحياء SQL> CREATE TABLE AREA( 2 COD NUMBER, 3 AREA_NAME VARCHAR2(15), 4 COUNT_COD NUMBER, عمل حقل في جدول اريا يرمز الى الكود كانتري يربط به الحقل المرموز 5 REG_COD NUMBER, 6 CONSTRAINT AREA_COD_PK PRIMARY KEY(COD), 7 CONSTRAINT AREA_COUNT_COD_FK1 FOREIGN KEY (COUNT_COD) REFERENCES COUNTRY(COD), 9 CONSTRAINT AREA_REG_COD_FK2 FOREIGN KEY (REG_COD)REFERENCES REGION (COD)) ; وعليك ان تنشئ الفورمه لتكون بهذا الشكل تقديم بلاغ
بتاريخ: 9 أبريل 200818 سنة comment_126366 حل اخر .. ولكن باستخدام مفتاح مركب COMPOUND KEY /*==============================================================*/ /* Table: REGION */ /*==============================================================*/ create table REGION ( REGION_CODE NUMBER(4) not null, REGION_NAME VARCHAR2(50), constraint PK_REGION primary key (REGION_CODE) ); /*==============================================================*/ /* Table: CITY */ /*==============================================================*/ create table CITY ( REGION_CODE NUMBER(4) not null, CITY_CODE NUMBER(4) not null, CITY_NAME VARCHAR2(50), constraint PK_CITY primary key (REGION_CODE, CITY_CODE) ); /*==============================================================*/ /* Table: AREA */ /*==============================================================*/ create table AREA ( REGION_CODE NUMBER(4) not null, CITY_CODE NUMBER(4) not null, AREA_CODE NUMBER(4) not null, AREA_DESC VARCHAR2(50), constraint PK_AREA primary key (AREA_CODE, REGION_CODE, CITY_CODE) ); alter table CITY add constraint FK_CITY_REFERENCE_REGION foreign key (REGION_CODE) references REGION (REGION_CODE); alter table AREA add constraint FK_AREA_REFERENCE_CITY foreign key (REGION_CODE, CITY_CODE) references CITY (REGION_CODE, CITY_CODE); تقديم بلاغ
بتاريخ: 10 أبريل 200818 سنة comment_126379 طب و لية الجداول الكتيرة دية ممكن جدول واحد ده اذا كمان عايزين تقسموها بالمناطق او الدول و فية flag يحدد المستوى لكل منطقه او محافظه CREATE TABLE CITIES (CITY_RECID NUMBER, CITY_CODE NUMBER, CITY_DESC VARCHAR2(20 BYTE), AREA_CODE NUMBER flag number); ALTER TABLE CITIES ADD ( PRIMARY KEY (CITY_RECID)); تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.