您所在的位置: 首页>>读书频道>>数据库>>综合>>

1.2 一个示例

http://book.51cto.com  2008-01-15 18:34  (美)艾曼斯瑞 内沃斯  中国电力出版社  我要评论(0)
  • 摘要:《数据库系统基础(第四版)》介绍了在设计、使用、实现数据库系统和应用时所需的基本概念。第一章主要介绍的是数据库基础。本文介绍了一个示例。
  • 标签:数据库  UNIVERSITY  STUDENT  数据库系统基础

1.2  一个示例

下面我们来看一个大多数读者可能都很熟悉的简单例子:UNIVERSITY数据库,在此维护了某大学有关学生、课程和成绩的信息。图1.2显示了此数据库的结构以及对应此数据库的一些示例数据。这个数据库组织为5个文件,每个文件都存储同一类型的数据记录②。STUDENT文件存储有关各学生的数据,COURSE文件存储各课程的相关数据,SECTION文件存储各课程单元的数据,GRADE_REPORT文件存储学生在其完成的各课程单元所取得的成绩,PREREQUISITE文件存储了每门课程的先修课程。

要定义这个数据库,必须指定存储在各记录中的数据元素(data element)的不同类型,以确定每个文件的记录结构。在图1.2中,每个STUDENT记录中包括有表示学生Name(姓名)、StudentNumber(学号)、Class(年级:一年级或1、二年级或2……)和Major(专业:数学或MATH、计算机科学或CS……)的数据;每个COURSE记录包括表示CourseName(课程名)、CourseNumber(课程号)、CreditHours(学时)、Department(系:即开设该课程的系)的数据。其他记录也要做类似定义。此外,还必须为记录中的各个数据元素指定一个数据类型(data type)。例如,可以指定STUDENT的Name是字母字符所构成的串,STUDENT的StudentNumber是一个整数,GRADE_REPORT的Grade是{A, B, C, D, F, I}集合中的一个字符。还可以用一种编码机制来表示一个数据项的值。如,在图1.2中,我们将一个STUDENT的Class表示为1(代表一年级)、2(代表二年级)、3(代表三年级)、4(代表四年级)以及5(代表研究生)。

图1.2 存储学生和课程信息的数据库

要构建UNIVERSITY数据库,我们将表示各学生、课程、课程单元、成绩报告和先修课程的数据作为记录存储在相应的文件中。请注意,不同文件中的记录之间可能是相关联的。例如,STUDENT文件中对应“Smith”的记录与GRADE_REPORT文件中的两个记录有关联,这两个记录指定了Smith在两个课程单元的学习成绩。类似地,PREREQUISITE文件中的每一条记录与两个课程记录相关:其中一个记录表示课程;另一个记录表示先修课程。大多数中型和大型数据库都包括许多不同类型的记录,而且记录间都存在许多关系。

数据库操纵包括查询和更新。查询的例子如:“检索Smith的成绩单,即所有课程和成绩的列表”、“列出哪些学生选修了1999年秋季单元的数据库课程,并列出他们在这个课程单元的学习成绩”、“数据库课程的先修课程有哪些”。更新的例子包括:“将Smith的年级改为二年级”、“为本学期的数据库课程创建一个新的课程单元”和“为Smith上一个学期的数据库课程单元输入成绩A”。在处理这些非正式的查询和更新之前,必须用DBMS的查询语言准确地加以指定。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节
Sun以10亿美元并购开源数据库厂商MySQL
Oracle数据库开发之PL/SQL基础应用
Oracle数据库开发基础教程
2006年数据库频道热点关注
数据库安全技术专题
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有