基于ER图的数据库设计与简单操作管理信息系统

更新时间:2024-06-16 06:39:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

实验报告

实验名称:基于ER图的数据库设计与简单操作 班级: 姓名: 学号:

实验时间: 2010年5月18日 成绩:指导老师: 一、实验目的:

(1能够正确运用数据库的基本理论和方法。 (2熟悉常用关系型数据库的设计和基本操作。

(3熟悉关系数据库规范化设计理论,能够设计并建立科学合理的数据库,正确建立数据库中表与表之间的关系。

(4进一步正确理解数据库设计思路,培养分析问题、解决问题的能力,提高查询资料和撰写书面文件的能力。

二、实验设备及主要内容

实验设备:“Microsoft SQL Server”——“企业管理器”和“查询分析器”主要内容: 1.高等院校学生补考管理业务需求描述。高等院校补考管理系统应具备编辑补考学生信息、安排补考时间地点等基本管理功能,具体要求如下:

3对教室的编号、地点和容纳人数进行编辑。 4自动安排补考的时间、地点(即教室。 5录入学生的补考成绩。

6分别按照院系、专业、班级等查询参加补考的学生信息。 7按照补考的时间和地点查询参加补考的学生信息。 8查询和打印补考时间、地点的安排。 9查询和打印补考不及格学生的信息。

2.设计数据库。根据上述业务描述,设计数据库总体方案,明确数据库中表的结构,各表中关键字的设置,表与表之间的关系。

3.根据功能需求,以SQL语句的形式分类列出系统应涉及的数据操作。 4.利用Access、VFP或SQL server建立数据库,并成功实现基本数据操作。 5.提交书面实验报告。 三、实验步骤

步骤一:按照上述要求进行数据库和表的设计。具体包括:领域描述、概念模型用E-R图描述、从E-R图导出关系数据模型。

步骤二:选择Access、VFP或SQL server实现数据库操作。

1、概念模型用E-R图描述

2、从E-R图导出的关系数据模型 学生补考管理系统的逻辑结构如下: 院系信息表:Department(deptID,deptName 班级信息表:Class(className,studentNum,deptID 课程信息表:Course(courselD,courseName,deptID 学生信息表:Student(studentID,studentName,className 补考记录表:Bk—stud(studentID,courseID,reason,score

3、选择SQL server、Access、VFP实现数据库操作的基本步骤。 用MS SQLSEVER实现数据库的操作

1使用“企业管理器”实现数据库的操作 ①创建数据库。

点击桌面上“开始”菜单,选择“Microsoft SQL Server”——“企业管理器”,进入控制台根目录界面。双击目录Microsoft SQL Servers进入子目录SQL Server组。双击子目录SQL Server组进入下一级子目录“local”,继续双击“local”,将出现如图1所示的“local”目录下的全部内容。

图1

双击数据库文件夹。

在右边空白处点右键,出现如图2所示的界面。

点击新建数据库进入数据库属性界面,如图3所示。在该界面里,我们为所创建的数据库起个名称如“temdb”,点“确定”按钮。

图2

图3

②创建数据库表。

在图2中双击“temdb”图标,进人数据库属性界面。点击“确定”按钮,进入temdb数据库项目界面,如图4所示。

图4

在空白处点右键,选择“新建/表”菜单,将进入图5所示的界面。在该界面我们将完成表的结构的设计。

以院系信息表为例来完成表结构的设计。在“列名”下填入字段的名称,如“deplD”;在第二列“数据类型“的下拉框里选择我们需要的类型,在这里选择char型的,根据要求将长度改为10个字符。因为deplD是主键,所以我们点击工具栏里的小钥匙,将deplD设为主键。按照同样的方法可以完成字段depName 的设置。完成之后的界面如图6所示。然后点击工具栏里的保存图标,将出现一个保存界面,在该界面中输入表的名称。在文本框里输入“depar tment”,如图7所示,将该表保存为department。

图5

图6

图7

按照同样的方法可以完成表class、course、student、bk—stud的结构设计。 ③向表中插入数据(仍然以院系信息表为例。

在图8所示的“企业管理器”环境里选中“department”点右键,选择菜单“打开表/返回所有的行”,进入图9所示的添加表中的数据界面。将用户数据依次填入,关闭该界面之后,数据自动存人数据库。按照同样的方法可以依次完成对表class、course、student、bk—stud的数据的添加。

图8

图9

2使用查询分析器实现对表的操作。 ①创建数据库。

点击桌面上菜单“开始”,选择“Microsoft SQL Server”——“查询分析器”,打开查询分析器。刚打开的查询分析器中有一查询窗口,如图10所示。

在查询窗口中输入SQL语句。下面的这条语句创建名为temdb的数据库,

图10

并创建相应的主文件和事务日志文件: create database temdb

点击查询分析器工具栏上的执行按钮(或右键点击查询窗口,在弹出菜单中 选择“执行”。消息窗口显示命令执行结果。 ②创建表。

点击桌面上“开始”菜单,选择“Microsoft SQL Server”一“查询分析 器”,打开查询分析器。刚打开的查询分析器中有一查询窗口。

在查询窗口中输入SQL语句(注意:SQL语句中的所有标点符号要用英文标

点,下同,如:

create table temdb.dbo.department(deptlD char(2primary key,deptName char(20

点击查询分析器工具栏上的执行按钮(或右键点击查询窗口,在弹出菜单中选择“执行”,执行结果见图11。消息窗口显示命令执行结果。

图11

根据以上步骤,分别执行以下SQL语句创建表class、course、studentj bk—stud: create table temdb.dbo.class( className char(7primary key, studentNum int,

deptID char(2foreign key references department create table temdb.dbo.course( courselD char(6, courseName char(40, deptID char(2

create table temdb.dbo.student( studentID char(9primary key, studentName char(6,

className char(7foreign key references class create table temdb.dbo.bk_stud( studentID char(9, courselD char(6, reason char(20, score int,

primary key(studentID,courselD, foreign key(studentIDreferences student, foreign key(courseIDreferences course

以上SQL语句正确执行后,可以从企业管理器中看到已创建的五个表。这个表的类型都是“用户”,如图12所示。

图12

③向表中插入数据。

在查询窗口中执行SQL语句,如:

insert into terndb.dbo.department values('06','管理学院'向department 表中插人数据,消息窗口显示执行结果正确,如图13所示。

图13

在查询窗口中分别执行以下SQL语句,完成基本数据的插入。 i’nsert into temdb.dbo.department values(’08’,’土木学院’ insert into temdb.dbo.class values(’信管011’,40,’06’ insert into temdb.dbo.class values(’信管012’,38,’06’ insert into temdb.dbo.class values(’工本011’,38,’08’

insert into temdb.dbo.course values('060123’,’管理信息系统’,’06’ insert into temdb.dbo.course values('060125’,’数据库系统原 理’,’06’

insert into temdb.dbo.cou rse values('080110’,’高层建筑’,’08’

insert into temdb.dbo.student values('200106001’,’马小跳’,’信 管011’

insert into temdb.dbo.student values('200106150’,’李二狗’,’信 管012’

insert into temdb.dbo.student values('200108110’,’张三丰’,’工本011’ insert into temdb.dbo.bk—stud v alues('200106001’,’060123’,’因病缺考’,89 insert into temdb.dbo.bk—stud values('200106001’,’080110’,’因病缺考’,78 insert into temdb.dbo.bk—stud values('200106150’,’060125’,’缓考’,75 insert into temdb.dbo.bk—stud values('2001081i0’,’060123’,’考试作弊’,60 insert into temdb.dbo.bk—stud values(’200108110’,’080110’,’因故缓考’,66 ④查询表中数据。

单表查询:查询department表的全部信息,在查询窗口中执行以下SQL语句: Select + from department

本查询语句中“+”代表要显示表的全部属性。

自己动手执行以下SQL语句,观察执行结果有什么不同。 Select + from department where deptlD=’0 6’

两表查询:以上查询信息均来自同一个表,但有的查询信息要来自多个表,如查询所有课程名称及其开课院系,则需要同时查询表course和depa~一ment, SQL语句为:

select course.courseName,department.deptName

from course,department

where course.deptID=department.deptID

三表查询:查询学生姓名、补考课程名称和补考成绩,需要同时查询表student、bk—stud、course,SQL语句为:

select student.studentName,course.CourseName,bk—stud score from student,bk—stud,course

where student.studentID=bk—stud studentID and bk—stud courselD= course.courseID 执行结果见图14。

图14

⑤修改表中数据。

在查询窗口中执行以下SQL语句: UPDATE Student

SET studentID='200106100' WHERE studentName='马小跳'

这个操作的结果是把“马小跳”的学号变为200106100。

⑥删除表中的行。

在查询窗口中执行以下SQL语句: DELETE FROM student WHERE studentID=’200106100’

这条语句的执行结果是删除表student中学号为200106100的行。

四、实验体会和实验中存在的问题。

这次实验主要用到了数据库的企业管理器和查询分析器,这些曾在数据库这门课程中学习过,但是有很多知识都已经遗忘。这次的实验让我重新温习了企业管理器和查询分析器的使用方法,以及用SQL语句编写程序代码。实验期间用SQL语言编写时出现了大小写使用不匹配的问题,经过运行和修改,找出问题源并加以改正。此次实验加强了我的编程能力,培养了我的独立思考能力。用理论知识与实践相结合,更加深刻了我对这门课的认识,巩固了我的理论知识。

五、问题思考 (1什么是数据库?

数据库是按数据结构来存储和管理数据的计算机软件系统。 (2什么是主码?什么是外码?

主码是当一个关系有多个候选码时,应选定其中的一个为主码。

外码:设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。

四、实验体会和实验中存在的问题。

这次实验主要用到了数据库的企业管理器和查询分析器,这些曾在数据库这门课程中学习过,但是有很多知识都已经遗忘。这次的实验让我重新温习了企业管理器和查询分析器的使用方法,以及用SQL语句编写程序代码。实验期间用SQL语言编写时出现了大小写使用不匹配的问题,经过运行和修改,找出问题源并加以改正。此次实验加强了我的编程能力,培养了我的独立思考能力。用理论知识与实践相结合,更加深刻了我对这门课的认识,巩固了我的理论知识。

五、问题思考 (1什么是数据库?

数据库是按数据结构来存储和管理数据的计算机软件系统。 (2什么是主码?什么是外码?

主码是当一个关系有多个候选码时,应选定其中的一个为主码。

外码:设F是基本关系R的一个或一组属性,但不是关系R的主码(或候选码。如果F与基本关系S的主码Ks相对应,则称F是基本关系R的外码。

本文来源:https://www.bwwdw.com/article/lxz3.html

Top