2.2 数据库方案,及其与实例的区别
2015-01-10 07:11
197 查看
1. 数据库方案(Schema)与实例(Instance)之间的区别:方案是指数据库的逻辑设计,实例指的则是某个时刻数据库里的数据,
2. 用编程语言中的概念来理解数据库中的概念:关系——变量,关系方案(Relation Schema)——类型定义,关系实例(Relation Instance)——变量的值。
3. 关系方案由一组属性及其对应的值域组成。
4. 变量的值可能随时间改变,关系实例的内容也可能不断变化,而关系的方案则一般不怎么变化。
5. 虽然关系方案和实例的区分十分重要,但在实践中,我们常用同一个名称比如instructor来同时指代关系方案和实例。有必要的时候我们可能会说“那个Instructor方案”或者“Instructor关系的一个实例”,但是不会产生歧义时,这两个概念我们一般都用关系名称来表示。
6. 我们来看下图的department这个关系。其方案是
7. department(dept name,
building,
budget)
8.
9. Dept_name属性同时出现在instructor方案和department方案中。公有字段是在不同关系的元组之间建立关系的常用手段。
10. 接着看大学数据库里的其他表。每个学期,各门课程都有相应的课程安排。这个section关系的方案如下:
11. section (course id,
sec id,
semester,
year,
building,
room number,
time slot id)
12. 另外,哪个老师上哪门课也需要一张表:
13. teaches (ID,
course id,
sec id,
semester,
year)
14. 本书用到的大学数据库中的关系除了前面提过的instructor,department,
course,
section,
prereq, and
teaches还有:
15. • s t u d e n t
( I D,
name,
dept name,
tot cred)
• advisor
(s id,
i id)
• takes
(ID,
course id,
sec id,
semester,
year,
grade)
• classroom
(building,
room number,
capacity)
• time slot
(time slot id,
day,
start time,
end time)
2. 用编程语言中的概念来理解数据库中的概念:关系——变量,关系方案(Relation Schema)——类型定义,关系实例(Relation Instance)——变量的值。
3. 关系方案由一组属性及其对应的值域组成。
4. 变量的值可能随时间改变,关系实例的内容也可能不断变化,而关系的方案则一般不怎么变化。
5. 虽然关系方案和实例的区分十分重要,但在实践中,我们常用同一个名称比如instructor来同时指代关系方案和实例。有必要的时候我们可能会说“那个Instructor方案”或者“Instructor关系的一个实例”,但是不会产生歧义时,这两个概念我们一般都用关系名称来表示。
6. 我们来看下图的department这个关系。其方案是
7. department(dept name,
building,
budget)
8.
9. Dept_name属性同时出现在instructor方案和department方案中。公有字段是在不同关系的元组之间建立关系的常用手段。
10. 接着看大学数据库里的其他表。每个学期,各门课程都有相应的课程安排。这个section关系的方案如下:
11. section (course id,
sec id,
semester,
year,
building,
room number,
time slot id)
12. 另外,哪个老师上哪门课也需要一张表:
13. teaches (ID,
course id,
sec id,
semester,
year)
14. 本书用到的大学数据库中的关系除了前面提过的instructor,department,
course,
section,
prereq, and
teaches还有:
15. • s t u d e n t
( I D,
name,
dept name,
tot cred)
• advisor
(s id,
i id)
• takes
(ID,
course id,
sec id,
semester,
year,
grade)
• classroom
(building,
room number,
capacity)
• time slot
(time slot id,
day,
start time,
end time)
相关文章推荐
- ORACLE实例与数据库的区别
- 数据库名、实例名和ORACLE_SID的区别
- 数据库和数据库实例的区别
- 数据库名、实例名、全局数据库名、服务名的区别
- oracle中数据库名、数据库实例名、SID的区别
- ORACLE实例与数据库的区别
- 数据库名、实例名和ORACLE_SID的区别
- 数据库 实例和数据库的区别
- Oracle数据库、实例、ORACLE_SID、数据库域名的区别
- Oracle数据库名、实例名、全局数据库名、服务名、网络服务名区别和联系
- 数据库名、实例名和ORACLE_SID的区别
- Oracle 数据库 与 实例的区别
- Oracle中Instance实例和数据库的区别
- Oracle的sid,实例与,数据库的区别(转载整合)
- ORACLE实例与数据库的区别(转)
- ORACLE实例与数据库的区别
- 数据库实例名与实例ID区别
- ORACLE实例与数据库的区别
- 全局数据库名称/数据库实例/SID 的区别
- Oracle数据库名、实例名、全局数据库名、服务名、网络服务名区别和联系