数据库课程设计链表的简单操作.docx

上传人:b****4 文档编号:11868119 上传时间:2023-04-06 格式:DOCX 页数:11 大小:33.13KB
下载 相关 举报
数据库课程设计链表的简单操作.docx_第1页
第1页 / 共11页
数据库课程设计链表的简单操作.docx_第2页
第2页 / 共11页
数据库课程设计链表的简单操作.docx_第3页
第3页 / 共11页
数据库课程设计链表的简单操作.docx_第4页
第4页 / 共11页
数据库课程设计链表的简单操作.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

数据库课程设计链表的简单操作.docx

《数据库课程设计链表的简单操作.docx》由会员分享,可在线阅读,更多相关《数据库课程设计链表的简单操作.docx(11页珍藏版)》请在冰豆网上搜索。

数据库课程设计链表的简单操作.docx

数据库课程设计链表的简单操作

电子信息与电气工程系

课程设计报告

 

设计题目:

数据库大作业

系别:

电子系

年级专业:

学号:

学生姓名:

指导教师:

2007年5月17日

 

数据库课程设计任务书

链表的简单操作

导师姓名

设计技术参数

一、概念结构设计

确定实体;确定实体的属性;确定实体的标识属性;确定实体的联系和联系类型;画出表示概念模型的E-R图;确定实体间的依赖关系。

二、逻辑结构设计

确定各关系模式的主关键字,考虑实体完整性。

确定各关系模式的外部关键字,考虑参照完整性。

确定各关系模式中属性的约束、规则和默认值,考虑域完整性。

考虑用户完整性。

根据用户需求设计视图。

考虑安全方案和用户使用权限。

在此基础上,定义相应的关系模式并进行相应的优化,要求符合第三范式。

三、物理结构设计

包括估算数据库的数据存储量,安排数据库的存储,索引的设计等。

四、据库实施阶段

建立数据库;编制与调试应用程序;组织数据入库;进行试运行。

五、数据库运行和维护阶段

在数据库系统运行过程中必须不断地对其进行评价、调整与修改

设计要求

设计完成一个简单的数据库,要求按照数据库设计的步骤进行相应的设计:

某系有若干班级和教研室,每个班级有若干学生,每个学生选修若干课程,每门课可由若干学生选修,每个教研室有若干教师,每个教师可以教授多门课程。

应完成的内容

1第一部分,整体把握数据库设计要求,确定各实体以及他们之间的关系,画出E-R图。

2.第二部分,建立数据库,建立表并编制与调试应用程序。

3.第三部分,总结,并完成课程设计报告。

参考文献

崔巍《数据库系统及应用》高等教育出版社(第二版)

 

摘要

此次课程设计主要使用的软件是SQLServer,首先用企业管理器分配物理磁盘空间,然后用查询分析器完成概念结构设计、逻辑结构设计(符合第三范式)、物理结构设计及数据库的实施共四个步骤,后续还有数据库运行和维护的阶段。

关键词:

实体属性联系E-R图完整性约束索引

 

目录

1.概念结构设计5

1.1.确定实体5

1.2.确定实体的属性5

1.3.确定实体的标识属性5

1.4.确定实体的联系和联系类型5

1.4.1系与班级和教研室的关系5

1.4.2班级和学生的关系5

1.4.3学生和课程的关系6

1.4.4教研室和教师的关系6

1.4.5课程和教师的关系6

1.5.画出表示概念模型的E-R图6

1.6.确定实体间的依赖关系7

2.逻辑结构设计7

2.1系表7

2.2班级表7

2.3学生表7

2.4课程表7

2.5教研室表8

2.6教师表8

3.物理结构设计8

4.数据库实施阶段8

4.1建立数据库8

4.2编制应用程序9

4.3组织数据入库10

4.4调试应用程序10

5.实习心得:

11

 

1.概念结构设计

1.1.确定实体

实体包括:

系、班级、学生、课程、教研室和教师

1.2.确定实体的属性

系(系代码,系名称)

班级(班级名称,班级编号,系名称)

学生(学号,姓名,班级名称)

课程(课程代码,课程名称,教师名称)

教研室(教研室号,教研室名称,系名称)

教师(教师号,教师名称,教研室名称)

1.3.确定实体的标识属性

实体系的标识属性是:

系名称

实体班级的标识属性是:

班级名称

实体学生的标识属性是:

学号

实体课程的标识属性是:

课程名称

实体教研室的标识属性是:

教研室名称

实体教师的标识属性是:

教师号

1.4.确定实体的联系和联系类型

1.4.1系与班级和教研室的关系

系与班级和教研室属于管理关系,一个系可以管理多个班级和教研室,但一个班级或教研室只能受到一个系管理,是一对多的联系。

1.4.2班级和学生的关系

班级和学生之间属于学习关系,一个班级可以有多个学生在其中学习,但一个学生只能在一个班级学习,是一对多的联系。

1.4.3学生和课程的关系

学生和课程之间属于选修关系,一个学生可以选修多门课程,一门课程也可以被多个学生选修,是多对多的联系。

1.4.4教研室和教师的关系

教研室和教师之间属于工作关系,一个教研室可以有多个在其中工作,但一个教师只能在一个教研室工作,是一对多的联系。

1.4.5课程和教师的关系

课程和教师之间属于教授关系,一门课程可以被多个教师教授,但一个教师只能教授一门课程,是一对多的联系。

1.5.画出表示概念模型的E-R图

教师

课程

学生

班级

11

nn

教研室

11

nn

1

m

选修

nn

1.6.确定实体间的依赖关系

系代码→系名称;

班级名称→系名称;

学号→姓名;

课程代码→课程名称;

教研室号→教研室名称;

教师号→教师名称。

2.逻辑结构设计

2.1系表

字段名

数据类型

主关键字

外部关键字

参照表

系代码

char(8)

Yes

系名称

varchar(40)

Yes

2.2班级表

字段名

数据类型

主关键字

外部关键字

参照表

班级名称

varchar(40)

Yes

班级编号

varchar(40)

系名称

varchar(40)

Yes

2.3学生表

字段名

数据类型

主关键字

外部关键字

参照表

学号

int(10)

Yes

姓名

varchar(20)

班级名称

varchar(40)

Yes

班级

2.4课程表

字段名

数据类型

主关键字

外部关键字

参照表

课程代码

char(8)

Yes

课程名称

varchar(20)

教师名称

varchar(10)

Yes

教师

2.5教研室表

字段名

数据类型

主关键字

外部关键字

参照表

教研室号

char(8)

Yes

教研室名称

varchar(40)

系名称

varchar(20)

Yes

2.6教师表

字段名

数据类型

主关键字

外部关键字

参照表

教师号

char(8)

Yes

教师名称

varchar(10)

教研室名称

varchar(40)

Yes

教研室

3.物理结构设计

创建一个test数据库,该数据库的主数据文件逻辑名称为test_data,物理文件名为testdata.mdf,初始大小为20MB,最大尺寸为50MB,增长速度为10%,数据库的事务日志文件逻辑名称为test_log,物理文件名为testlog.ldf,初始大小为20MB,最大尺寸为50MB,增长速度为10%,并且要求主数据文件和事务日志文件的物理位置在硬盘E上。

4.数据库实施阶段

4.1建立数据库

在SQLserver查询分析器中输入如下命令:

createdatabasetest

on

(name=test_data,

filename='E:

\testdata.mdf',

size=20,

maxsize=50,

filegrowth=10%)

logon

(name=test_log,

filename='E:

\testlog.ldf',

size=20,

maxsize=50,

filegrowth=10%)

试运行,结果显示为:

CREATEDATABASE进程正在磁盘’test_data’上分配10.00MB的空间。

CREATEDATABASE进程正在磁盘’test_log’上分配10.00MB的空间。

即命令已成功完成。

4.2编制应用程序

createtable系(

系代码char(8)primarykey,

系名称varchar(40)foreignkeyreferences班级)

createtable班级(

班级名称varchar(40)primarykey,

班级编号varchar(40)

系名称varchar(40)foreignkeyreferences系)

createtable学生(

学号int(10)primarykey,

姓名varchar(20),

班级名称varchar(40)foreignkeyreferences班级)

createtable课程(

课程代码char(8)primarykey,

课程名称varchar(20),

教师名称varchar(10)foreignkeyreferences教师)

createtable教研室(

教研室号char(8)primarykey,

教研室名称varchar(40),

系名称varchar(20)foreignkeyreferences系)

createtable教师(

教师号char(8)primarykey,

教师名称varchar(10),

教研室名称varchar(40)foreignkeyreferences教研室)

createtable选课(

学号int(10)foreignkeyreferences学生,

课程代码char(8)foreignkeyreferences课程,

成绩float(7),

primarykey(学号,课程代码))

4.3组织数据入库

此步骤向空白表中插入信息(注意,每完成一次插入须将上一语句注销):

insertinto系values('x02','外文')

insertinto系values('x07','化工')

insertinto班级values('3班','b02','x02')

insertinto班级values('4班','b03','x07')

insertinto学生values(‘0605072003’,‘丁磊’,‘06级电子系3班’)

insertinto学生values(‘0605072002’,‘朱军’,‘06级计科系4班’)

insertinto课程values('k02','高数','j06')

insertinto课程values('k05','物理','j07')

insertinto教研室values('s01','第一教研室','x07')

insertinto教研室values('s02','第二教研室','x02)

insertinto教师values('j06','李风','s02')

insertinto教师values('j07','徐云','s01')

insertinto选修values('0605072003','k04','78')

insertinto选修values('0605072002,'k02','80')

4.4调试应用程序

插入一个学号为0605072008的06外文系(5)班学生李飞的信息:

insertinto学生values(‘0605072008’,‘李飞’,‘06外文系5班’)

将学生朱军的姓名改为‘许二’:

update学生set姓名=‘朱军’(where姓名=‘许二’)

删除学生丁磊的全部信息:

deletefrom学生where姓名=‘丁磊’

选出高数成绩未及格的学生信息:

select*from学生where学号in

(select学号from选课where成绩<60and课程代码in

(select课程代码from课程where课程名称=‘高数’))

显示结果:

命令已成功完成。

 

5.实习心得:

由于这次课程设计并不是停课专门去做,而是一边上课一边做的,所以说实话时间比较仓促,很多方面设计得不很理想,有待改善。

但经过这次数据库课程实践,我对SQLServer的应用明显更加熟练,对数据库的一些基本概念理解也更加透彻,算是一次很系统的复习,且为以后的进一步学习打下了基础。

最后,谢谢老师一个学期来的悉心教导,希望以后可以得到老师的更多专业方面的指导。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1