Title: ???????????????????? ??? ?????????????? Database Architecture and Data Model
1???????????????????? ??? ??????????????Database
Architecture and Data Model
2???????????????????? (Database Architecture)
- ??????????? ????????????????????????????????????
??????????? ???????????????????????????
????????????????????????????????????????? ?
????????????? ??????????????? ????????????????????
??????????????????????????????????????????????????
????????????????????????????????????
??????ANSI-SPARC ( American National Standards
Institute ANSI and Standards Planning and
Requirements Committee SPARC)
??????????????????????????? 3 ????? ????????
????????????????????
3???????????????????? (Database Architecture)
External level
View n
View 2
View 1
Conceptual level
Conceptual Schema
Internal Schema
Internal level
Physical data organization
Database
??? ???????????????????? 3 ????? (The ANSI-SPARC
three-level architecture
4???????????????????? (Database Architecture)
- ?????????? ( Internal Level)
- ?????????????????????????????????????????????????
???????? ? ??????????????????????????????????
(how) ??????????? ????????????????????????????????
??????????????????????????????????????? (access)
????
5???????????????????? (Database Architecture)
- ??????????? (Conceptual Level)
- ??????????????????????????????
?????????????????????????????? ???????????????????
(what) ??????????????????????? (relationship)
????????????? ????????????????????????????????????
??? Schema (??????????) ????????????????????
Conceptual Schema ????????? ??????????????????????
?????Entity???????? ?????Entity
???????????????????(Attribute)??????
???????????????(Relationship)?????Entity??????????
? - ??????????????????????????? ? ???????????????????
??????????????????????????????????????????????
6???????????????????? (Database Architecture)
- Relationship ????????????????????????????????
??????????? - 1. ???????????????????????????? (one-to-one
relationship) ???????????????????????entity?????
??????????????????????entity??????????????????????
??????? ???? ???????(Staff) ??????????????????????
?????????????????????????????????????????????????
-
1
Staff
Manages
Branch
1
???????????????????????????????
7???????????????????? (Database Architecture)
- 2. ???????????????????????????? (one-to-many
relationship) ??????????????????????? entity
??????????????????????????? entity
??????????????????????? ???? ?????????????????????
????????? ????????????????? ? ????????????????????
???
M
Branch
Is Allocated
Staff
1
???????????????????????????????
8???????????????????? (Database Architecture)
- 3. ????????????????????????????(many-to-many
relationship) ??????????????????????????????????
??entity??????? ???? ???????????? ?
????????????????????????????????????????? ?
??????? ??????????????????????????????????????????
???????????????????????????
N
Newspaper
Is Allocated
Property_for _Rent
M
???????????????????????????????
9???????????????????? (Database Architecture)
- ??????????? (External Level)
- ??????????????????????(View)?????????????????????
???????????????????????? ?????????????????????????
???????????????????? ?????????????????????????????
????????????????????????????????????????????
????????????????????????? Conceptual Schema
??????????????????????????????????????????????????
??????????????? Conceptual ????????????? External
Schema ???? Subschema(???????????????)
??????????????????? Subschema ??????????????
10???????????????????? (Database Architecture)
- ?????????????????????? 3 ?????
- 1. ???????????????????????? (View of each user)
- ???????????????????????????????????? DBMS
????????????(Map) ????????????????????????????????
??????? ???? DBMS ?????????????????? Schema
????????????????????????????? ???Map??????????????
?????????????????????????????????? ? ??????????? - 1. ??????????????????????????
??????????????????????????????????????????????????
?????? -
11???????????????????? (Database Architecture)
- 2. ???????????????????????? ???????????????????
??????????????????????????????????????????????????
????????????????????????? ???????????????? DBMS
??????????????????????????????????????????????????
? ???????????????? ??????????????????????????????
?????????????? - 2. ?????????????????????? (Data Independence)
- ??? ?????????????????????????????????????????????
??????????????????????????????????????????????????
?????????? ????????????? DBMS ????????????????????
?????????????????????????????? ???????????????????
??????????? ?????????????????????????? 2 ????
??????
12???????????????????? (Database Architecture)
- 1.???????????????????????????? (Logical Data
Independence) ??? ?????????????? ???
?????????????????????????????? ???? ????????
?????????????? Attribute ???? ?????????????? ?
??????????????????????????????????????????????????
? - 2.????????????????????????????(Physical Data
Independence) ??? ????????????????????????????????
????????????????????? ? ??? ??????????????????????
????? ???? ?????????????????????????????????
????????????, ????????????????????????????????????
??????????????????????????????????????????????????
??
13???????????????????? (Database Architecture)
External Schema
External Schema
External Schema
External/Conceptual mapping
Logical data Independence
Conceptual Schema
Conceptual/Internal mapping
Physical data Independence
Internal Schema
??? ??????????????????????????????????? 3
???????? ANSI-SPARC
14???????????????????? (Database Architecture)
- ???????????????????????????????????????? 3 ?????
- 1. ??????????????????????????????????????????????
?????????????????????????? ???????????????????????
?????, ???????? ???????????????????????? DBMS
????????????? - 2. ??????????????????????????????????????????????
??????????????????????????????????????
???????????????????????????????? - 3. ?????????????????? ??? ???????????????????????
????????????????????????????????????????????????
15?????????????? (Data Models)
- ??? ??????????????????? ? ????????????????????????
??????????????????????????????????????????????????
???????????????????????????????????? - ??????????????????????????? ??????????? 3 ????
??? - 1. ????????????? (Structural) ???????????????????
??????????????????????????????????????????????????
??????????????????????????? ????
????????????????????????????????
???????????????????????????
16?????????????? (Data Models)
- 2. ???????????? (Manipulative)
???????????????????????????????????????? ?
????????? ?????????? ???Update
????????????????????????????????
???????????????????????????? ????????????????????
SQL ???????????????????? - 3. ???????????????? ( a set of integrity rules)
????????????????????????????????????????????????
??????????????????????????????????????????????????
?????????????????????????????
17?????????????? (Data Models)
- ????????????????????????? ANSI-SPARC
???????????????????????????????????????????? 3
????????? - - ???????????????????? (External Data Model)
???????????????????????????????????? ? - - ???????????????????? (Conceptual Data Model)
???????????????????????? ?????????????????????????
??????? ??? DBMS - - ??????????????????? (Intermal Data Model)
?????????????????????????? DBMS
?????????????????????????????????????????????
18????????????????? (Database Models)
- ?????????????????????????????????????????????????
??????????????????????????? ??????????????????????
?? ?????? - ??????????????????????? (Hierarchical database
model) ????????????????????????????????????????
???????????????????????????????????????
(top-down) ??????????????????? (tree structure)
????????????????????? root ??????????????????????
leaves ???????? ? ????????????????? (One Parent)
???????? ????????????????????? ? ???? ????????
??????? (Children files) ?????????????????????????
?????? ?????????????????????????
19????????????????? (Database Models)
Hierarchical database Model
20????????????????? (Database Models)
- ??????????????????????????????????
- 1. ???????????????????????? ????????????????????
(tree) - 2. ??????????????????????????????????
one-to-many - 3. ????????????????????????????????????????
- 4. ????????????????????????????????????????????
21????????????????? (Database Models)
- ????????????????????????????????????
- 1. ??????????????????????????????????????????????
??? many-to-many - 2. ?????????????????? ???????????????????????????
?????? - 3. ????????????????????????????? ?
??????????????????? - 4. ?????????????????????
22????????????????? (Database Models)
- ??????????????????????? (Network database model)
??????????????? (pointer) ????????????????????????
??????????????????????? ? ????????????????????????
??? one-to-many ??? many-to-many
23????????????????? (Database Models)
Network database Model
24????????????????? (Database Models)
- ??????????????????????????????????
- 1. ??????????????????????? many-to-many
- 2. ??????????????????????????????????????????????
? - 3. ??????????????????????????-???????
- 4. ???????????????????????????????????????????
?????????????????????????????????????????? -
25????????????????? (Database Models)
- ????????????????????????????????????
- 1. ?????????????????????????????????
- 2. ??????????????????????????????????????????????
?? - 3. ?????????????????????????????????????????????
26????????????????? (Database Models)
- ????????????????????????????? (Relational
database model) ??????????????????????????????????
?????????? ???????????????????????????????????????
??????????????? ??????????????????????? (row)
?????????? (column), ?????????????????????????????
??? ? ??? ????????????? ont-to-many ???? ???
many-to-many ????????????????????????????????????
? ????????????? ?????????????????????????????????(
primary key) ?????????? (secondary key)
??????????????????????????????????????????????????
??????
27????????????????? (Database Models)
- RELATION1(Primary Key, Attributes)
- RELATION2(Primary Key, Foreign Key, Attributes)
Relation database model
28????????????????? (Database Models)
- ?????????????????????????????????????
- 1. ???????????????????????????????????
???????????????????????????? 2???? - 2. ??????????????????????????????????????????????
? - 3. ?????????????????????????
- 4. ?????????????????????? ???????????????????????
??????????????????????????????????????? - 5. ????????????????????????????????????
29????????????????? (Database Models)
- ???????????????????????????????????????
- 1. ?????????????????????????????
?????????????????????????????????????? - 2. ????????????????????????????????????
??????????????????????????????????????????????????
????????????
30????????????????? (Database Models)
- ?????????????????????????? (Object-Oriented
database model) ??????????????????????????????????
????????????? ????????????????????????????????????
? ????????????????????????????????????????????????
???? (data and operation) ????????????????????????
????????????????????????? ????????????????????????
??????????????? (encapsulation)
31????????????????? (Database Models)
Object Class 1
Attributes
Object Class 3
Object Class 2
Attributes
Attributes
Methods
Methods
Methods
Object-oriented database model
32????????????????? (Database Models)
- ??????????????????????????????????
- 1. ????????????????????????????? ?
??????????????????????????????????
????????????????????? ?????? ???????? - 2. ??????????????????????????????????????
(Reusable) - ????????????????????????????????????
- - ???????????????????????????????????????
?????????????????? - ???????????????????????????????????
33????????????????? (Database Models)
- ?????????????????????????????? (Multidimensional
database model) ??????????????????????????????????
(Data Warehouse) ???????????????????????????????
????????????????????????????????? ????
?????????????????????????? (Product)
?????????????????????? (Market)
???????????????????????????? multidimensional
?????????????????????????????????????????????????
? (Slicing a data cube) ??????????????????????????
????
34????????????????? (Database Models)
Southeast
New England
Sales
Jan
Feb
Desk
Table
Chair
Multidimensional database model (multidimensional
table view)
35????????????????? (Database Models)
Dimension1
Dimension4
Fact Table
Dimension2
Dimension5
Dimensions
Dimension3
Dimension6
Facts
Multidimensional database model (Star-schema view)
36?????????????????? 2 ?????????????????????????????
????????
- ??????????? ??????????????????????????????????
- ??????????????????????????????????????????????????
?????????? - ??????????????????????????????????????????????????
?????? ?????????????????????????????????????????? - ???????????????????????????????????????????????
- ??????????????????????????????????????????????????
??????? ? - ???????????????????????????????? 3 ?????
????????????????????????????????? - ????????????????????????????????? (Data Model)
- ????????????????????????????????????? ????????
- ???????????????????????????? ????????
- ??????????????????????????????????????????????????
??????????????????????