بسم الله الرحمن الرحيم lecture( 4)
DESCRIPTION
بسم الله الرحمن الرحيم Lecture( 4). للقراءة 2.2.2. Data Independence. لغات نظم إدارة قواعد البيانات DBMS Languages. DDL : Data Definition Language - PowerPoint PPT PresentationTRANSCRIPT
الرحيم الرحمن الله الرحيم بسم الرحمن الله بسم
Lecture( 4)Lecture( 4)
• 2.2.22.2.2 للقراءةللقراءة . Data Independence. Data Independence
البيانات قواعد إدارة نظم البيانات لغات قواعد إدارة نظم DBMS DBMSلغاتLanguagesLanguages
1.1. DDL : Data Definition LanguageDDL : Data Definition Languageالـ • بواسطة تستخدم الـ وهي بواسطة تستخدم DB designersDB designersوالـ والـ DBADBAوهي
الـ ( الـ ( لتعريف ). ). External SchemasExternal Schemasو و ConceptualConceptualلتعريفالـ أن حالة في الـ وذلك أن حالة في الـ DBMSDBMSوذلك بين تفصل الـ ال بين تفصل ال
ConceptualConceptual الـ الـ و ) )External LevelExternal Levelومترجم DBMSDBMSأي أي • مترجم لها ال CompilerCompilerلها أوامر ال لترجمة أوامر لترجمة
DDLDDL
2.2. SDL : Storage Definition Language SDL : Storage Definition Language الداخلية ( الخارطة لتحديد اللغة هذه الداخلية (وتستخدم الخارطة لتحديد اللغة هذه Internal Internalوتستخدم
SchemaSchema ( (
3.3. VDL :- View Definition Language VDL :- View Definition Language
المستخدمين (• مرئيات لتحديد تستخدم المستخدمين (وهي مرئيات لتحديد تستخدم ExternalExternal((وهيSchemasSchemas الـ تفصل عندما الـ وذلك تفصل عندما الـ DBMSDBMSوذلك الـ بين بين
ConceptualConceptual والـ والـExternal LevelExternal Level ، ، ال تطبق ال أي تطبق Three ThreeأيSchema ArchitectureSchema Architecture
4.4. DML : Data Manipulation Language DML : Data Manipulation Language بالبيانات • وتحميلها البيانات قاعدة خارطات كل تحديد بعد تستخدم بالبيانات وهي وتحميلها البيانات قاعدة خارطات كل تحديد بعد تستخدم وهي
تعديل ( ) ، إضافة ، حذف البيانات وتحديث السترجاع تعديل ( )وذلك ، إضافة ، حذف البيانات وتحديث السترجاع وذلك
•DMLDML-: نوعان :-لها نوعان لها• High – Level or non Procedural DMLHigh – Level or non Procedural DML:-:-
كأوامر الشاشة من مباشرة يكون أما األوامر إدخال النوع هذا كأوامر في الشاشة من مباشرة يكون أما األوامر إدخال النوع هذا فيSQLSQL استخالص ويتم البرمجة لغات احدي في مضمنة األوامر تكون استخالص أو ويتم البرمجة لغات احدي في مضمنة األوامر تكون أو
ال بواسطة وتنفيذها األوامر ال هذه بواسطة وتنفيذها األوامر ..DBMSDBMSهذه• Low-Level or Procedural DML Low-Level or Procedural DML
فيها أمر كل الن وذلك البرمجة لغات احدي في L دائما مضمنة تكون فيها أوامرها أمر كل الن وذلك البرمجة لغات احدي في L دائما مضمنة تكون أوامرهاالبرمجة لغات احدي تستخدم ولذا فقط واحد سجل باسترجاع البرمجة يسمح لغات احدي تستخدم ولذا فقط واحد سجل باسترجاع يسمح
التكرارية ( الحلقات كاستخدام اللغة إمكانيات من التكرارية ( لالستفادة الحلقات كاستخدام اللغة إمكانيات من مثال مثال LoopsLoops لالستفادةسجل ). من أكثر سجل ).السترجاع من أكثر السترجاع
ال • معظم ال في معظم كـ DBMSDBMSفي العالئقي النموذج تستخدم والتي كـ الحالية العالئقي النموذج تستخدم والتي الحالية))Implementation ModelImplementation Model ( الـ أوامر أن الـ ) نجد أوامر أن كلها كلها DMLDMLو و VDLVDLو و DDLDDLنجد
وهي شاملة واحدة لغة في وهي مضمنة شاملة واحدة لغة في أما SQLSQLمضمنة ، ئقي العال النموذج لغة أما وهي ، ئقي العال النموذج لغة وهي. SDLSDLالـ الـ منفصلة لغة . فتكون منفصلة لغة فتكون
إدارة نظم في التطبيق إدارة واجهات نظم في التطبيق واجهاتالبيانات البيانات قواعد قواعد
DBMS InterfacesDBMS Interfaces 1.1. Menu based Interfaces:-Menu based Interfaces:-
الخيارات (• من عدد لها تطبيق واجهة الخيارات (أي من عدد لها تطبيق واجهة بـ) OptionsOptionsأي بـ) تسمي تسميMenusMenus الـ أنواعها اشهر الـ ومن أنواعها اشهر ومن
Pull down menusPull down menus ) للتصفح تستخدم للتصفح (والتي تستخدم قاعدة) browsingbrowsingوالتي قاعدة) في فيالبيانات.البيانات.
2.2. Forms – based Interfaces:-Forms – based Interfaces:-
الـ DBMSDBMSلكل لكل • لتحديد معينة الـ لغة لتحديد معينة ما FormsFormsلغة عادة ما وهي عادة وهيالـ ( بواسطة وتستخدم البيانات وتعديل لحذف الـ ( تستخدم بواسطة وتستخدم البيانات وتعديل لحذف Naive Naiveتستخدم
usersusers ( الـ عن شئ أي يعرفون ال الذين الـ ) المستخدمين عن شئ أي يعرفون ال الذين DBMSDBMSالمستخدمينالـ عبر معها يتعاملون الـ وإنما عبر معها يتعاملون فقط .فقط .FormsFormsوإنما
3.3. Graphical User Interfaces:-Graphical User Interfaces:-
كـ ( البيانات قاعدة خارطة لتوضيح تستخدم كـ ( وهي البيانات قاعدة خارطة لتوضيح تستخدم ) ) diagramdiagramوهي
4.4. Interfaces for DBA:-Interfaces for DBA:-
الـ بواسطة تستخدم الـ وهي بواسطة تستخدم كمنح DBADBAوهي المهام بعض كمنح إلنجاز المهام بعض إلنجازو للمستخدمين و الصالحيات للمستخدمين Changing Changingو و Create accountsCreate accountsالصالحيات
accountsaccounts و وReorganizing the storage structures of DBReorganizing the storage structures of DB..
5.5. Interface for parametric users:Interface for parametric users:
بأقل المتكررة مهامهم النجاز المفاتيح بعض L احيانا لهم بأقل تبرمج المتكررة مهامهم النجاز المفاتيح بعض L احيانا لهم تبرمج..((keystrokeskeystrokes))ال ال منمن ممكنممكن عددعدد
6.6. Natural language interfaces:Natural language interfaces:
طلبه وجه ان للمستخدم يمكن الواجهات هذه طلبه في وجه ان للمستخدم يمكن الواجهات هذه في. L مثال االنجليزية كاللغة لغة .باستخدام L مثال االنجليزية كاللغة لغة باستخدام
7.Speech input and output.7.Speech input and output.
Classification of DBMSClassification of DBMS
الـ الـ تصنف :DBMSDBMSتصنف أساس :علي أساس عليالبيانات )1.1. البيانات )نموذج في ( Data ModelData Modelنموذج في ( المستخدم المستخدم
::))DBMSDBMS ( (Main Criterion for ClassificationMain Criterion for Classification الـالـ
الـ الـ كل الـ DBMSDBMSكل تستخدم اما الـ الحالية تستخدم اما Relational Data Relational DataالحاليةModelModel أو أوObject Data ModelObject Data Model. .
Examples:-Examples:-
Oracle, AccessOracle, Access Relational DBMS Relational DBMS
IRIS, ORIONIRIS, ORION Object DBMSObject DBMS
Informix universal server:Informix universal server: object-relational object-relational DBMSDBMS
2.2. المستخدمين المستخدمين عدد عدد(Number of users supported by the system)(Number of users supported by the system)
• أماأما DBMS DBMSالـالـ • Single user system (one user at the time using Single user system (one user at the time using
DB)DB)
أوأو • Multiuser system (more than one user at a time Multiuser system (more than one user at a time
concurrently) concurrently)
(Needs concurrency control) (Needs concurrency control)
3.3. الـ الـ عدد البيانات sites sites عدد قاعدة توزيع يمكن البيانات التي قاعدة توزيع يمكن التي عليهاعليها
NumberNumber of Sites over which the database is distributed of Sites over which the database is distributed
الـ • عدد حيث الـ من عدد حيث للـ SitesSites من أنواع عدة للـ هنالك أنواع عدة :- :- DBMSDBMSهنالك1.1. Centralized DBMS (DB Stored at a single Centralized DBMS (DB Stored at a single
computer (site).computer (site). Ex: - client – server module. DB Stored at the Ex: - client – server module. DB Stored at the
server server 2.2. Distributed DBMS: DBMS Software and DB are Distributed DBMS: DBMS Software and DB are
distributed over many sites connected by distributed over many sites connected by computer network (homogeneous)computer network (homogeneous)
3.3. Federated DBMS (Multi database systems Federated DBMS (Multi database systems distributed across multiple sites , but each site distributed across multiple sites , but each site user different DBMS (Heterogeneous DBMS)user different DBMS (Heterogeneous DBMS)
4.4. Cost.Cost.
5.5. Type of access path options for storing Type of access path options for storing files.files.
6.6. General purpose or specific purposeGeneral purpose or specific purpose ..
Good bye Good bye chapter TWOchapter TWO
Chapter )3(Chapter )3(
Data Modeling Using The Data Modeling Using The Entity Relationship ModelEntity Relationship Model
Database Design processDatabase Design process
الخطوات علي تحتوي البيانات قاعدة تصميم الخطوات عملية علي تحتوي البيانات قاعدة تصميم عمليةالتالية:التالية:
1st step:- Requirements collection and analysis1st step:- Requirements collection and analysis• .. وتحليلها المستخدمين حاجات ..تجميع وتحليلها المستخدمين حاجات تجميع
المستخدمين • احتياجات كل بتحديد الخطوة هذه المستخدمين تنتهي احتياجات كل بتحديد الخطوة هذه تنتهي
) ) data requirementsdata requirements )) المطلوبة العمليات كل المطلوبة وتحديد العمليات كل وتحديدالبيانات ( قاعدة البيانات (علي قاعدة ) ) Functional requirementsFunctional requirementsعلي
المستخدمين بواسطة المعرفة العمليات المستخدمين وتشمل بواسطة المعرفة العمليات وتشمل))User defined operationsUser defined operations ( االسترجاع االسترجاع ) وعمليات وعمليات
والتحديثوالتحديث
by using dataflow diagram ,sequences by using dataflow diagram ,sequences diagram .....etcdiagram .....etc
• 2nd step:- Conceptual design:2nd step:- Conceptual design: إنشاء • في المصممون يشرع ، وتحليلها االحتياجات تجميع إنشاء بمجرد في المصممون يشرع ، وتحليلها االحتياجات تجميع بمجرد
بـ يعرف بـ ما يعرف ما
SchemaSchema Conceptual Conceptual الخارطة هذه وإلنشاء البيانات الخارطة لقاعدة هذه وإلنشاء البيانات لقاعدةالـ نماذج احدي الـ تستخدم نماذج احدي تستخدم
• ))High-level conceptual data ModelsHigh-level conceptual data Models(( البيانات بوصف البيانات وذلك بوصف وذلكالـ لذلك مثال النموذج مفاهيم استخدام طريق الـ عن لذلك مثال النموذج مفاهيم استخدام طريق E- R E- R((عن
ModelModel(( .للتطبيق تفاصيل أي علي تحتوي ال المفاهيم للتطبيق. وهذه تفاصيل أي علي تحتوي ال المفاهيم وهذهImplementation detailsImplementation details((((..
الـ • تستخدم الـ ولذا تستخدم أن SchemaSchema Conceptual Conceptualولذا من للتأكد أن كمرجع من للتأكد كمرجعوان البيانات في مستوفاه المستخدمين كل وان احتياجات البيانات في مستوفاه المستخدمين كل احتياجات
فقط تركيزهم يكون المصممين ألن تضارب بها ليس فقط االحتياجات تركيزهم يكون المصممين ألن تضارب بها ليس االحتياجاتدون المستخدمين احتياجات كل تستوفي خارطة تصميم دون علي المستخدمين احتياجات كل تستوفي خارطة تصميم علي
لدي مفهومة الخارطة وتكون التطبيق طريقة في لدي التفكير مفهومة الخارطة وتكون التطبيق طريقة في التفكيرالمتخصصين غير المتخصصين المستخدمين غير . . المستخدمين
• 3rd Step: - Implementation of the database, 3rd Step: - Implementation of the database, using a commercial DBMS:using a commercial DBMS:
تحويل • يتم الخطوة هذه تحويل في يتم الخطوة هذه SchemaSchemaالـ الـ فيConceptualConceptual الـ الـ من High level conceptual data High level conceptual dataمن
ModelModel الي اليImplementation data ModelImplementation data Model الي الي أي أيال في المستخدم ال النموذج في المستخدم لتطبيق DBMSDBMSالنموذج لتطبيق المختارة المختارة
بـ . يسمي التحويل وهذا البيانات بـ . قاعدة يسمي التحويل وهذا البيانات Data Model Data ModelقاعدةMappingMapping أو أوLogical designLogical design
البيانات • قاعدة خارطة بإنشاء تنتهي الخطوة البيانات وهذه قاعدة خارطة بإنشاء تنتهي الخطوة وهذه))Database schemaDatabase schema (المستخدم باستخدام) باستخدام المستخدم النموذج النموذج
الـ الـ في : DBMSDBMSفي لذلك :مثال لذلك مثال
E-R model mapping to Relational Model.E-R model mapping to Relational Model.
• Final step:- physical design phase:Final step:- physical design phase:التخزين • تفاصيل كل تحديد يتم الخطوة التخزين أثناءهذه تفاصيل كل تحديد يتم الخطوة أثناءهذه
: بتحديد :وذلك بتحديد وذلك•Access paths, file organization for database fileAccess paths, file organization for database file . .البيانات • لقاعدة داخلية خارطة بإنشاء تنتهي الخطوة البيانات وهذه لقاعدة داخلية خارطة بإنشاء تنتهي الخطوة وهذه
(internal schema) (internal schema)
تصميم • أيضا يتم الخطوات هذه كل مع التوازي تصميم علي أيضا يتم الخطوات هذه كل مع التوازي علي ( البرمجيات ( هندسة طرق باستخدام التطبيقية ) البرامج البرمجيات ( هندسة طرق باستخدام التطبيقية البرامج
البيانات ( لقاعدة كحركات البيانات (وتطبيقها لقاعدة كحركات Database DatabaseوتطبيقهاTransactionsTransactions ))
• See figure bellow:See figure bellow:
ENTITY RELATIONSHIP MODELENTITY RELATIONSHIP MODELالمرتبطة الكائنات المرتبطة نموذج الكائنات نموذج
Popular high_ level conceptual data Model , developed Popular high_ level conceptual data Model , developed by Peter Chen (1976).by Peter Chen (1976).
للنموذج :- األساسية للنموذج :-المفاهيم األساسية المفاهيم
EntitiesEntitiesالكائنات. الكائنات. 11
AttributesAttributesالصفات. الصفات. 22
RelationshipsRelationships العالقات. العالقات. 33
شكل SchemaSchema conceptual conceptualال ال • علي شكل تكون علي تكونDiagramDiagram ب ب يسمي ذلك E-R diagramE-R diagramيسمي ذلك ويكون ويكون
معينة أشكال معينة باستخدام أشكال باستخدام•)) NotationsNotations E-R diagram E-R diagram) () ())page 80page 80 لكل لكل
والقيود والقيود المفاهيم ..المفاهيم
والصفات والصفات الكائنات الكائنات
ال ( هو ال (الكائن هو الكائنات) Basic objectBasic objectالكائن نموذج الكائنات) في نموذج فيال ال تعريف ) : EntityEntityتعريف العالم ( في موجود شئ وهواى ) : الكائن العالم ( في موجود شئ وهواى الكائن
أخر . شئ وجود علي وجوده يعتمد وال أخر .الحقيقي شئ وجود علي وجوده يعتمد وال الحقيقي""Thing In real world with an Independent existenceThing In real world with an Independent existence” ”
فيزيائيا ( يكون أن أما الكائن فيزيائيا (وجود يكون أن أما الكائن ومثال) ومثال) physical existencephysical existenceوجود، ، Car Carلذلك لذلك person person ، ، studentstudent ، ، househouse مفاهيمي يكون مفاهيمي أو يكون أو
))Conceptual existenceConceptual existence (لذلك لذلك) ومثال ، ، CompanyCompanyومثال CourseCourse ، ، jopjop
الصفات ( من عدد كائن الصفات (لكل من عدد كائن لوصفه) AttributesAttributesلكل لوصفه) تستخدم تستخدم))Properties to describe entityProperties to describe entity((
مثال :-مثال :-Entity : EmployeeEntity : Employee
الصفات :-الصفات :-Name, SSN ,Sex , sal , address , ageName, SSN ,Sex , sal , address , age هذه من صفة هذه وكل من صفة وكل
قيمة ( لها تكون قيمة (الصفات لها تكون خاص) (ValueValueالصفات كائن خاص) (لكل كائن particular particularلكلEntityEntity-: (مثال) :-مثال
E1E1) خاص كائن خاص (هو كائن ) ) particular Entityparticular Entityهو: صفاته :قيم صفاته قيمAli , 46 , M , 30.000 , Omdurman , 40Ali , 46 , M , 30.000 , Omdurman , 40
Attribute Values become a major part of data in the DBAttribute Values become a major part of data in the DB((((
((Attribute types) Attribute types) الصفات الصفات أنواع أنواع
) :) :Atomic attributeAtomic attribute الصماء الصماء الصفة ) )الصفة
صفة من ألكثر تجزئتها يمكن ال صفة صفة من ألكثر تجزئتها يمكن ال .. صفة
) الصماء غير ( الصفة الصماء غير ):- ):- Composite attributeComposite attributeالصفةصفة من ألكثر تجزئتها يمكن صفة صفة من ألكثر تجزئتها يمكن عن صفة مستقلة صفة عن وكل مستقلة صفة وكل
ب المجزئة الصفات وتسمى ب االخري المجزئة الصفات وتسمى ..) ) ))Sub partsSub parts االخري
مثال:-مثال:-
Home Address
Address
Office Address
state Street No City
القيمة • وحيدة القيمة الصفة وحيدة Single Valued Single Valued: ) : ) الصفةAttributeAttribute((--
. خاص كائن لكل فقط واحدة قيمة لها .صفة خاص كائن لكل فقط واحدة قيمة لها صفةمثال :-مثال :-
الكائن AgeAgeالصفة الصفة الكائن في له له EmployeeEmployeeكل كل EmployeeEmployeeفيفقط . واحد فقط .عمر واحد عمر
القيم • متعددة القيم الصفة متعددة ((Multivalued attributeMultivalued attribute-:) -:) الصفةقيمة من اكثر لها قيمة صفة من اكثر لها . صفة الخاص .للكائن الخاص للكائن
مثال :مثال :الكائن الكائن فى معينة colorcolorالصفة الصفة CarCarفى لعربة يكون معينة قد لعربة يكون قد
))particular entityparticular entity. لون) من .اكثر لون) من اكثرالمركبة • المركبة الصفة للقراءة( : للقراءة( : ((complex attributescomplex attributesالصفة
صفحة ) الكتاب صفحة )من الكتاب (.(.6565من
المحسوبة • المحسوبة الصفة :- :- ) ) Derived attributeDerived attribute((الصفة ( اخرى ( صفات او صفة من محسوبة قيمتها ) صفة اخرى ( صفات او صفة من محسوبة قيمتها صفة
))stored attributestored attribute.(.(مثال :-مثال :-
Derived attribute (age), stored attribute (Birth date)Derived attribute (age), stored attribute (Birth date)• Null valueNull value:-:-
تحمل • قد الصفات تحمل بعض قد الصفات الكائنات NullNullالقيمة القيمة بعض الكائنات لبعض لبعضموجودة غير او معروفة غير قيم تعني وهي موجودة الخاصة غير او معروفة غير قيم تعني وهي الخاصة
Null = unknownNull = unknown..مثال :مثال :
مؤهل College certificateCollege certificateالصفة الصفة يحمل ال مؤهل لشخص يحمل ال لشخصالقيمة تحمل القيمة جامعي تحمل . .NullNullجامعي
Entity TypeEntity Type
•) الكائن (نوع الكائن من:- Entity typeEntity type((نوع من:- مجموعة مجموعة. الصفات نفس لها .الكائنات الصفات نفس لها الكائنات
(Set or Collection of the entities that have the (Set or Collection of the entities that have the same attributes)same attributes)
ال ( • من عدة من تتكون البيانات ال ( قاعدة من عدة من تتكون البيانات Entity Entityقاعدةtypestypes (وكل) وكلEntity typeEntity type باسمه باسمه يعرف يعرف
وصفاته.وصفاته.
E1Ali , 30,30000
E2Ahmed,40,50000
…….………
C1Sisco,ab60,omer
C2Nilegroup,ac360,ali
……..……...
Entity Type name -: employee company
Attributes-: Name, age , salary Name, No, president
Entity sets (extension)
The collection of all entities of a particular entity type in the database at any point in time is called an entity set. Entity type & entity set have the same name.
E R_ Diagram NotationE R_ Diagram Notation
ال Entity TypeEntity Typeشكل شكل • ال في E R_ DIAGRAME R_ DIAGRAMفي ( ال( إسم وبداخله مستطيل شكل ) علي ال( إسم وبداخله مستطيل شكل Entity Entityعلي
TypeType. .
ال • ال صفات شكل Entity TypeEntity Typeصفات علي شكل تكون علي تكونمستقيمة بخطوط معه متصلة مستقيمة بيضاوي بخطوط معه متصلة بيضاوي
agesalary name
employee
الصفات انواع الصفات أشكال انواع أشكالMultivalued attribute:-Multivalued attribute:-
Composite attribute : Composite attribute :
Composite attribute name
Sub parts attribute
Derived Attribute :- Derived Attribute :-
Key attributes of an entity typeKey attributes of an entity type
Key attribute name
ل المكونة للكائنات جدا الهامة القيود ل من المكونة للكائنات جدا الهامة القيود كل Entity – typeEntity – typeمن ان كل وهو ان وهوEntity – typeEntity – type المفتاح صفة تمثل صفة المفتاح له صفة تمثل صفة الصفة Key attributeKey attributeله الصفة ولهذه ولهذه
ال في كائن لكل مختلفة ال قيمة في كائن لكل مختلفة ب E.TE.Tقيمة القيد هذا ب ويعرف القيد هذا Uniqueness UniquenessويعرفConstraint on attributesConstraint on attributes(( ))
Key attribute In E.R DiagramKey attribute In E.R Diagram-:-:
واحدة ( صفة تكون ان يمكن المفتاح صفة تمثل التي واحدة (الصفة صفة تكون ان يمكن المفتاح صفة تمثل التي Simple SimpleالصفةKeyKey (ال من صفات عدة من تتكون ال) او من صفات عدة من تتكون ..E.TE.T ( (Composite KeyComposite Key))او
ل يكون ان ل ويمكن يكون ان ) E.TE.Tويمكن ان ( يمكن حدا علي صفة كل صفه من ) اكثر ان ( يمكن حدا علي صفة كل صفه من اكثرل , يكون ال وقد المفتاح صفة ل , تمثل يكون ال وقد المفتاح صفة المفتاح E.TE.Tتمثل صفة تمثل صفة المفتاح أي صفة تمثل صفة أي
بال الحالة هذه في بال ويسمي الحالة هذه في ..))weak Entity typeweak Entity typeالضعيف (الضعيف (E.TE.Tويسمي
Value sets (Domain)Value sets (Domain)
ال صفات من صفة ال أي صفات من صفة يمكن E.TE.Tأي التي القيم من مجموعة يمكن لها التي القيم من مجموعة لهابالمجال ( تسمى تاخذها بالمجال (ان تسمى تاخذها لهذه) لهذه) Domain or Value setsDomain or Value setsان
الصفة .الصفة .
Value sets can’t be displayed In E-R diagramValue sets can’t be displayed In E-R diagram
(Value sets (Domain ) + Key ) called attribute (Value sets (Domain ) + Key ) called attribute constraints in E-R model.constraints in E-R model.