230 likes | 495 Views
Database Design. Chapter 2. Database Design. Steps in building a database for an application: 1. Understand real-world domain being captured 2. Specify it using a database conceptual model (E/R,OO) 3. Translate specification to model of DBMS (relational)
E N D
Database Design Chapter 2
Database Design Steps in building a database for an application: 1. Understand real-world domain being captured 2. Specify it using a database conceptual model (E/R,OO) 3. Translate specification to model of DBMS (relational) 4. Create schema using DBMS commands (DDL) 5. Load data (DML) Real-world domain Conceptual model DBMS data model Create Schema (DDL) Load data (DML)
Entity-Relationship Model (E/R) • نموذج الكينونة/العلاقة (ERD) هو نموذج عالي المستوييقوم بعرض بناء البيانات (high-level conceptual data model). • يتم استخدام هذا النموذج في العادة أثناء مرحلة تصميم المفاهيم (Conceptual Design). • الناتج من استخدام هذا النموذج هو مخطط البيانات. • يتم تمثيل بناء البيانات والقيود المطلوبة عليها باستخدام اشكال رسومية سهلة ومحددة. CS1023 - Dr. Yousry Taha
الكيان (Entity): هو الوحدة (الشىء) الأساسية التي يتم تمثيلها بنموذج الكينونة/العلاقة (ER) ويشير هذا الكيان إلي ”شىء“ حقيقي في الحياة سواء كان له وجود فعلي مثل (طالب – موظف – سيارة - ... الخ) أو وجود منطقي مثل (شركة – وظيفة – مقرر - ... الخ) • مفتاح الكيان: لكل كيان مفتاح عبارة عن صفة أو صفات تعرف الكيان بطريقة وحيدة. • يتم تمثيل الكيان باستخدام شكل مستطيل كما هو مبين: CS1023 - Dr. Yousry Taha
Entities • Entity Instance: is a single occurrence of an entity type. E.g. the student named Nora.
الصفة (Attribute): هي صفة معينة تصف الكيان مثل اسم الموظف ، عمر الطالب، مرتب موظف، درجة طالب، عدد الساعات الدراسية لمقرر. • ايوضع خط تحت اسم الصفة أو الصفات التي تمثل مفتاح الكيان. • يتم تمثيل الصفة باستخدام شكل بيضاوي كالآتي: • الصفة متعددة القيم يتم تمثيلها بالشكل الببضاوى المزدوج كما هو موضح بالشكل التالي: CS1023 - Dr. Yousry Taha
Attributes Attribute types :- • Composite(صفة مركبة ) and Simple( (صفة بسيطة. • Single Valued (أحادية القيمة ) and Multi valued(متعددة القيم).
SALARY MiddleName FirstName LastName Name Attribute TypesComposite v Simple • Composite attributes: divided into smaller subparts e.g. name divided into first, initial ,last. • Simple attributes: attributes that are not divisible e.g. salary. initial FName LName Area_cd DOB name no St_no Tel_no EX STUDENT
Color Single Valued v Multivalued • Single value : most attributes are of this type. E.g. age • Multivalued: set of values for the same Attribute . E.g. car colors, previous degrees. initial FName LName Area_cd DOB name no St_no Tel_no EX Mobile STUDENT
More Attribute Types • Null values: some entities may not have an applicable values for an attribute => a special value is created called Null. E.g. in the employee information the field of mobile number can have a null value because some employees do not have mobile phones.
العلاقات • العلاقة ر ( R ) بين مجموعة من الكيانات ك1، ك2، .....كن(E1,E2, ...En) هي مجموعة تمثل الارتباطات بين هذه الكيانات. CS1023 - Dr. Yousry Taha
يتم تمثيل العلاقة في نموذج الكينونة/العلاقة باستخدام شكل المعين (Diamond shape) والذي يرتبط مع الكيانات بخطوط مستقيمة وهذا يتم تمثيله بالشكل التالي: • لكل علاقة درجة (Degree of Relationship): وهي عدد الكيانات المرتبطة بالعلاقة (ثنائية – ثلاثية - ....) CS1023 - Dr. Yousry Taha
Summary of ERD notations ATTRIBUTE ENTITY RELATIONSHIP
Example Manage • Doctor Ahmed manage a heart clinic in a hospital . Where is the entities types and relationships ? Doctor , hospital entity Ahmad instant Manage relationship Doctor hospital
Key Attributes of an Entity Type • Key attribute: is a key that identifies each entity uniquely, and has a distinct value . E.g. the name attribute in the company entity is unique. • primary key: The primary key uniquely identifies each record in the table • Candidate Key (CK): a set of attributes that uniquely identify an instance of an entity. E.g. Students can be identified by SSN or ID. • Composite Key: is a key made from more than one attribute. E.g. the flight can be uniquely identified by flight number and flight date. • Alternate Key (AK): is a candidate key that is NOT selected to be the primary key.
Keys Example Birth date Student name Student _ id Student primary key
FlightNo Date FlightID name Section_no hours crs_code Candidate Key (CK) CLASS Composite Key FLIGHT
Primary Key Attribute (PK) • Can be a single attribute or composite attribute. • Can be called identifier. • خصائص PK: • Should not change its value • Not null
الكيان الضعيف (Weak Entity) • الكيانات التي لا تحتوي علي صفات تمثل مفتاح لذاتها تسمى كيانات ضعيفة. • الكيان الضعيف يرتبط بكيان أخر معرف له عن طريق علاقة معرفة لهذا الكيان. • الكيان الضعيف دائما يرتبط بارتباط كلي مع العلاقة المعرفة له. • يتم تمثيل الكيان الضعيف باستخدام مستطيل مزدوج الخط كما هو مبين بالشكل التالي: CS1023 - Dr. Yousry Taha
مفتاح الكيان الضعيف (Weak Entity) • يحتوي الكيان الضعيف عادة على مفتاح يسمي المفتاح الجزئي (Partial key) والذي يتكون من مجموعة من الصفات التي تعرف الكيان الضعيف المرتبط بالكيان المعرف له بطريقة وحيدة. • المفتاح الجزئي يتم تمثيله عن طريق وضح خط متقطع تحت الصفات المكونة له. • الكيان الضعيف والعلاقة المعرفة له يتم تمثيلهم بخط مزدوج للأشكال المعرفة لهم في نموذج الكينونة/العلاقة. CS1023 - Dr. Yousry Taha
الاسم العنوان الجنس ابن N يعول 1 موظف رقم السن الاسم مثال على الكيان الضعيف ملاحظات: • ”ابناء“ كيان ضعيف حيث أنه لا يحتوى على مفتاح لذاته (المفتاح الجزئي اسم الابن يمكن ان يتكرر لموظف أخر ولكن لا يتكرر لنفس الموظف). • العلاقة ”يعول“ هي العلاقة المعرفة للكيان الضعيف ”ابناء“. • الكيان ”موظف“ هو الكيان المعرف للكيان الضعيف ”ابناء“. • الكيان الضعيف ”ابناء“ يشترك اشتراك كلي مع العلاقة ”يعول“. CS1023 - Dr. Yousry Taha
Summary of ERD notations ATTRIBUTE ENTITY KEY ATTRIBUTE WEAK ENTITY MULTI-VALUED RELATIONSHIP COMPOSITE