数据库实验一

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

南京工程学院

实验报告

课程名称数据库应用与设计

实验项目名称实验一函数依赖及规范化理论应用与E-R图设计

学生实验班级工业工程131 实验学生姓名杨锡腾

实验学生学号 201131335 同组学生姓名

实验时间 2015年10月23日

实验地点工程实践中心2-202

实验成绩评定

指导教师签字

2015 年10 月24日

一、实验目的

通过该实验使学生能在掌握数据库分析设计的相关理论的基础上,应用设计工具软件,按照实验步骤,独立完成E-R 概念模型的建立,并能从E-R 概念模型到物理模型。同时也能正确的使用工具建立物理模型,并生成指定数据库的SQL 脚本。

二、实验内容

1.学会数据库分析设计工具S-Designor 或powerdesinger9 的使用

2.根据给定的某个管理信息系统,利用数据库函数依赖及规范化理论,进行数据库分析,找出实体、实体属性及实体之间的关系。

3.利用数据库分析设计工具画出给定管理信息系统的E-R 模型。

4.总结完成的E-R 模型,分析其不足,提出改进的措施或分析原因。

三、实验环境

1、Windows XP 或windows 2000;

2、安装Microsoft SQL Server 2000 个人版或MySQL 数据库管理软件。

3、Sdesigner6 等相关软件

4、其他实验环境

四、实验步骤

1.实验题目

某企业职工工资实体各个属性描述如下:人员代码(字符类型,长度4)、姓名(字符类型,长度8)、部门编号(字符类型,长度2)、基本工资(数字类型,长度7,小数为2 位)、附加工资(数字类型,长度7,小数为2 位)、房费(数字类型,长度7,小数为2 位)、发放日期(日期类型),请完成职工工资实体规范化后的E-R 模型【提示:分解为员工表Emp 及工资表salInfo,两者是一对多的关系】

2 、在工具中创建E-R 模型

E-R 模型中包含的主要公共构件是实体(Entity)和联系(Relationship)。联系表示的是实体之间的关系,联系具有方向性。按照实体之间的数量对应关系,通常可将联系分为四类,即一对一、一对多、多对一、多对多,其中一对多和多对一是相互的。多对多联系在现实世界中普遍存在,但在数据库系统中难以实现,所以在实际设计时需要把一个多对多联系分解成两个一对多联系。

图1 员工表EMP与薪水表SALINFO关系E-R图

1)双击S-Designor 安装目录下的SDDA50.EXE 可执行文件,启动下图的界面,可将背景色改为白色。可以在File 菜单下选择创建新的CDM 文件、打开现存的CDM 文件等操作。设计实体时,只需要将工具箱中的实体图标拖放在绘图区域就完成。

2)双击实体图标,弹出下图的实体描述对话框,输入实体名称及编码。单击图中的Attributes 属性按钮,可以弹出实体属性设计对话框。

图2 员工表EMP实体属性设计

图3 薪水表SALINFO实体属性设计

3)在图形窗口双击实体符号,打开实体特性窗口单击Attributes 页单击Add Data Item 工具,打开选择窗口,该窗口列出了模型中所有有效的数据项,选择一个或多个数据前面的复选框。如果没有数据项可以从Model>Data Items 打开列表添加数据项。也可以直接点击空行插入新的实体属性。

在DataType 数据类型栏输入常见的数据类型:如A9 表示定长字符,长度为9 位;V A30 表示变长字符,长度为30 位;I 表示整形数;N2 表示十进制数,长度为2,无小数位;N10,2 表示十进制数,长度为10,小数为2 位;D 表示日期类型。可以在DataType 框后面的提示按钮中选择数据类型,单击浏览按钮,显示标准数据类型对话框,进行数据类型的选择(包括精度)在check 按钮中可以设置unique、值范围约束、缺省值约束等。

4)双击连接线可以更改两者对应的关系,如一对一的联系、一对多的联系及多对多的联系。联系的种类有四种,即一对一、一对多、多对一、多对多。双击联系线,打开联系的特性窗口,单击Detail页,在该窗口定义基数。

5)定义强制联系强制特征指出实体间的联系是强制的还是可选的,详细见下表所示。

6)按F4 检查模型的正确性,如果模型正确,可以将逻辑模型生成物理模型。

点击Gemerate Physical Model…菜单,弹出下图的对话框,要求选择相应的数据库系统,选择Oracle 数据库或Microsoft SQL Server6.0 数据库。

按F4 键检查模型,如果没有错误,则点击Database 菜单下的Generate Database…子菜单来生成SQL 脚本。

五、实验过程与结果分析

该实验生成的SQL脚本如下:

create table EMP

(

ENO char(4) not null,

ENAME char(8) not null,

DSPART char(2) ,

primary key (ENO)

);

create table SALINFO

(

SDATE timestamp not null,

ENO char(4) not null,

BASESAL numeric(7,2) ,

ADDSAL numeric(7,2) ,

ROOMCHARGE numeric(7,2) ,

primary key (SDATE, ENO)

);

该SQL 脚本可以直接在SQL Server2000 数据库系统的查询分析器中执行,生成数据库表对象及约束。

六、实验总结

实验中的基础SQL 是经过很多次的测试、修改再测试、再修改才完成的。也就是在多次的测试修改的过程中使我学发现了很多平时上课发现不了的问题,也发现了自己学习这门课程的薄弱的地方和学的不足的地方。

通过实验期间的发现问题、分析问题、查找问题原因、解决问题及进一步完善基础SQL 应用的过程,我的能力和水平有一定程度的提高。经过一次独立完成实验给我以后学习高级SQL 打下了基础,让我面对的不再是茫然和无措,而是有条不紊的思绪和完成的信心。所以这次实验对我来说是一笔极大的财富。

当然,在实验中我也有很多不足的地方,完成的实验也有需要进一步完善的地方,这主要是我对SQL和E-R 模型不熟悉和经验不足的原因造成的。所以我还要在以后继续学习,

相关文档
最新文档