数据库实验二

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二数据库设计

【实验目的】

本实验通过学生一个应用实例设计数据库,达到:

1、理解规范化数据库设计包括步骤及其任务、方法、结果等。

2、掌握数据库设计过程中关键文档的撰写包括E-R模型、E-R模型向关系模型的转换。

3、了解数据库辅助设计工具。

【实验性质】

验证性实验(学时数:2H)

【实验导读】

1、概述

数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统(简称数据库应用系统),使之能够有效地存储数据,满足各种用户的应用需求(包括信息要求和处理要求)。

数据库设计的一个最基本的问题(输出)是如何建立一个好的数据库模式(逻辑结构与物理结构),如果可能的话包括基于数据库应用系统的设计原则。即给出一定的硬件与软件环境下(主要包括OS与DBMS),对于一定的信息需求和处理要求(输入),如何构造一个适合于它们的数据模式,使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。

按照规范化设计的方法,数据库设计分为以下六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。有些教材还包括规划阶段。为了叙述方便我们将后两个阶段合并。

2、需求分析

需求分析指各种需求的收集和分析、表达,结果得到数据字典(DD)描述的数据需求和数据流图(DFD)描述的处理需求。在结构化设计方法中,需求分析采用自顶向下、逐层分解的方法。

3、概念结构设计

通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,用E-R图表示。E-R模型方法讨论了实体与实体之间的数据联系,目标是要设计一个“好”的数据库模型。

设计E-R图步骤:

1)确定局部应用,一般选择合适的中间层次。在DFD中选择适当层次的DFD,作为设计局部E-R图的出发点。中层允许有一定的重叠。

2)设计局部E-R图。主要包括确定实体、确定联系包括联系名及其类型、标明属性、确定主关键字、标明其它。

3)局部E-R图

4)合并及优化全局E-R图。

4、逻辑结构设计

将概念结构转换为某个DBMS所支持的数据模型一般为关系模型,并对其进行优化。转换时必须遵从转换规则,每个规则强调转换时必须确定每个关系的关系名、构成的属性、码的确定。转换规则可以分为三类即实体型的转换、联系转换(联系可分为二元联系与多元联系两类,二元联系划分成1:1、1:n、n:m三种,一元联系同二元联系一样处理)、关系合并规则。

5、物理结构设计

为逻辑数据模型选取一个最适合应用环境的物理结构(存储结构和存取方法)。

6、实施与运行、维护

数据库实施指运用DBMS提供的数据语言SQL及其宿主语言(例如C),根据逻辑设计和物理

设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。在编写SQL语句之前,一般会要求提供详细说明每个表的表实例图(Table Instance Chart)。TIC详细描述每个表的属性、数据类型及其长度、各种约束(如主码、外码、唯一性、值域等),有些资料称之为数据字典(注意与需求分析的结果数据字典区分开来)。

数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。

7、设计举例

下面设计一个高校教学管理系统作为示例,简要说明数据库设计过程。

(1)数据分析

各部门对教学管理系统的数据要求:

学生处:管理各系班级学生的基本情况。对学生而言主要有学生的学号,姓名,性别,生日,家长,邮编,家庭住址,班编号等信息。对班级而言有班级的编号,班名称,班简称,班长,层次,人数,入学年度,系编号等。

教务处:掌握课程的基本信息以及学生各门课程的成绩情况。就课程需要掌握课程的编号,课程名,学期,学分,实习周数(对实践类课程)。

各系:登录本系学生各门课程的成绩

按照前述方法,根据上述数据要求,设计了其E-R模型,如图2.1。

图2.1 教学管理E-R模型

(2)E-R模型转换为关系模型

根据转换规则将上述E-R模型经过转换得到5个关系,下划线为主码:

系(系编号,系名称,系简称,电话,系主任,班级数)。对应实体型“系”。

班级(班编号,班名称,班简称,班长,层次,人数,入学年度,系编号)。对应实体型“班级”,包含了联系“拥有”。

学生(学号,姓名,性别,生日,家长,邮编,家庭住址,班编号)。对应实体型“学生”,包含了联系“组成”。

课程(课程号,课程名,学期,学分,实习周数)。对应实体型“课程”。

选修成绩(学号,课程号,成绩)。对应联系“选修”。

(3)数据字典

为了更好实施数据库,给出每个关系的详细说明。

(4)创建表SQL语句

(略)

【实验内容】

1、对自己熟悉的应用领域完成数据库设计,也可以参照下面两个E-R图中任何一个。

图2.2

图2.3

2、编写关键文档(转换的关系模型、数据字典、SQL语句)。

E-R模型转换为关系模型

根据转换规则将上述E-R模型经过转换得到5个关系,下划线为主码

。对应实体型“系”。

。对应实体型“教研室”。

。对应实体型“课程”。

。对应实体型“教师”。数据字典

为了更好实施数据库,给出每个关系的详细说明。

3、上机调试相应的SQL语句。

create database qowu

use quwo

create table Depart(

Dno decimal(5) primary key,

Dname char(30) not null,

phone varchar(50)

)

create table section(

sno decimal(5) primary key,

sname char(30) not null,

Dno decimal(5),

foreign key(dno) references Depart(dno)

)

create table course(

cno char(15) primary key,

cname char(30) not null,

tno char(30),

)

create table Teeacher(

tno char(30) primary key,

tname char(30) not null,

cno varchar(15),

sno decimal(5),

foreign key(sno) references Section(sno)

)

【实验作业】

1、数据库设计的输入是什么?

2、数据库设计的输出是什么?

3、E-R模型向关系模型的转换时注意事项有哪些?

4、简单总结规范化数据库设计方法的优缺点。

相关文档
最新文档