教学工作的资源分享

数据库指导书资料

职教云智慧职教

职教云智慧职教

目录

目录2

实验1使用1 SQL Server安装和管理工具3实验2交互式SQL14

实验3交互式SQL27实验4数据安全管理10实验5数据完整性管理13实验6触发和存储过程实验20实验7数据库设计综合应用25实验1使用1 SQL Server安装和管理工具一.实验目的

1、通过使用某商用数据库管理系统,了解DBMS的工作原理和系统架构。 该推荐的数据库管理系统SQL Server 2008已经在机房FTP中。 你也可以从微软官方网站下载这个系统。2、熟悉DBMS操作二.实验内容

1 .按照安装文件的指示安装数据库管理系统。 在安装过程中记录安装选择,并考虑该选择。 为什么要采用这样的结构,对今后的数据库管理系统的运行会产生什么影响呢?2、学习启动和停止数据库服务,考虑用什么方法可以完成启动和停止。3、掌握管理工具的使用

)1)使用SQL server管理套件如何连接到服务器使用查询编辑器

)2)使用配置管理器

4、理解数据库系统的逻辑组件:

这些主要是数据库对象,包括基本表、视图、触发器、存储过程和约束。 以后,您将学习如何操作这些数据库对象。三.实验报告要求1、表示安装中出现的错误和解决方法。

2、基于您所知道的SQL Server工具,写出关键组件的一些功能(以SQL Server2008为例,写出SQL Server Management Studio、配置管理器)实验2交互式SQL (创建数据库和表) ) ) )。一.实验目的

在这次实验中,我们了解了SQL Server 2008的启动,熟悉了如何使用SSMS和SQL构建数据库和表,并加深了对完整性的理解。二.背景知识在使用数据库过程中,接触最多的是数据库中的表。 表是存储数据的地方,是数据库中最重要的部分,管理表就可以管理数据库。

表由行和列构成。 创建表的过程主要是定义表中列的过程。 的列名在同一表中是唯一的,同一列中的数据属于同一数据类型。 除了按列名和数据类型指定列的属性外,还可以定义其他属性,如是否为空、缺省值、标识符列或全局唯一标识符列。约束是SQL Server提供的一种自动维护数据库完整性的方法,用于定义可以在表或表的单个列中输入的数据约束。 SQL Server包括主键约束(主键约束)、外键约束(外键约束)、唯一约束(唯一约束)和检查约束(检查约束)三.实验内容和要求3.1在ssms中创建数据库和表

在本练习中,您将使用SQL Server2008数据库管理系统创建Student数据库。 像学生名字“黄加强”一样,需要更改为学生本人的“名字的拼音首字母”和部分“学号”的名字。 其学号为123012013105,Student变更为HTQ2013105。 在下一个实验中,您需要以与上述相同的方式进行更改1 )启动SQL Server2008 :单击“开始”“所有程序”“SQLserver2008-sqlservermanagementstudio”,启动SQL server 2008数据库管理系统2 )登录数据库服务器:

单击“连接到服务器”对话框中的“连接”按钮,连接到SQL Server 2008数据库服务器。3 )创建数据库Student

在SQL Server 2008数据库管理系统左侧栏的对象资源管理器中右键单击数据库对象,然后在出现的快捷菜单中单击“新建数据库”命令。在弹出的“新建数据库”对话框右侧的数据库名称中键入数据库名称" Student ",然后单击“确定”。4 )在Student数据库中创建新表“Student”单击SQL Server 2008数据库管理系统左侧“对象资源管理器”栏中的“更新”按钮,以显示新数据库" Student "。在左侧列的对象资源管理器中,展开“数据库”-'Student,右键单击Student数据库中的表项,然后从快捷菜单中选择“新建表”命令。在右侧的工作区中输入" Student "表格的信息。 该表包含以下信息:列名

数据类型一致性约束Sno是字符(5)主控码

Sname是字符10不是空的Ssex比特无

Sage输入无

Sdept是字符15无

单击“文件”(file )菜单中的“保存”(save )命令,将表保存为Student。3.2使用SQL语句创建数据库和表

1 )单击工具栏上的“新建查询”按钮,然后单击显示的“连接到服务器”对话框中的“连接”按钮,创建新的SQL脚本。2 )在右侧的SQL脚本输入框中输入以下SQL代码:createdatabasestudent--创建student数据库GO

USE STUDENT-- 转到STUDENT数据库GO单击工具栏中的执行按钮,运行SQL语句,完成数据库与表的创建。3.3 在新建数据库中创建三个表Employee表列名

数据类型长度

是否允许为空说明

EmployeeIDChar6否

员工编号,主键NameChar10

姓名

BirthdayDatetime8否

出生日期SexBit1否

性别

AddressChar20是

地址

Zip

Char6是

邮编

PhoneNumberChar12是

电话号码

EmailAddressChar30是

电子邮件地址

DepartmentIDChar3否

员工部门号,外键

Departments表列名数据类型长度

是否允许为空说明

DepartmentIDChar3否

员工部门号,主键

DepartmentNameChar20否

部门名

NoteText16是

备注

Salary表列名数据类型长度

是否允许为空说明

EmployeeIDChar6否

员工编号,外键IncomeFloat8否

收入

OutComeFloat8否

支出  

3.4 对三张表输入数据(可任意输入,但注意要符合完整性要求,否则会出错,在本实验中,外键设置可先不做要求。注意:要求至少有一条是学生本人的信息)  3.5 实验要求

  (1)要求给出三个表创建的SQL语句,要求建表时给出主外键约束、唯一约束、取空值约束、用户自定义的约束等。  (2)举例说明如何操作会违背完整性(实体完整性、参照完整性)。实验3 交互式SQL二(数据查询、更新、视图等)一、实验目的

* 掌握SELECT语句的基本语法和查询条件表示方法* 掌握GROUP BY 和ORDER BY 子句的作用和使用方法* 掌握连接查询和子查询的使用方法

* 加深对SQL数据更新(插入、修改及删除)语句的基本语法格式的掌握* 掌握单个元组及多个元组的插入、修改及删除操作的实现过程* 加深对更新操作时数据库中数据一致性问题的了解* 加深对约束条件在数据更新操作执行中的作用问题的了解* 理解视图的概念,掌握视图的使用方法。

二、实验内容

1、使用SQL语句创建数据库和表

单击工具栏中的"新建查询"按钮,并在弹出的"连接到服务器"对话框中单击"连接"按钮,新建一个SQL脚本。

在右侧的SQL脚本输入框中输入SQL代码,创建STUDENT数据库(要求改为 学生本人"姓名的拼音首字母"加上部分"学号"命名,如学生姓名"黄添强",其学号为123012013105,Student改为HTQ2013105,下面其余实验要求同上):CREATE DATABASE STUDENT -- 创建STUDENT数据库GO

USE STUDENT -- 转到STUDENT数据库GO单击工具栏中的执行按钮,运行SQL语句,完成数据库与表的创建。2、在新建数据库中创建三个表Student表列名

数据类型长度

是否允许为空说明Sno

Char12否

学生编号,主键SnameChar20是

姓名

SsexChar2是

性别

Sage

SMALLINT是

年龄

SdeptChar20是

系别

Course表列名数据类型长度

是否允许为空说明Cno

Char4否

课程标号,主键CnameChar40是

课程名

CpnoChar4是

先修课程名,外键CcreditSMALLINT是

学分

SC表列名数据类型长度

是否允许为空说明Sno

Char12否

提高教学质量的方法和措施

提高教学质量的方法和措施

课程标号,外键GradeSMALLINT

成绩

注:主键为Sno、Cno3、输入数据

  对照课本对三张表输入数据(注意要符合完整性要求,否则会出错。另外,要求Student表首条记录输入实验学生"本人"的信息)  4、对照课本第3章的例题,练习查询、更新、视图等SQL操作。

三、实验报告要求

1、写出与上述查询任务相对应的SQL查询语句;2、并记录在实验过程中遇到的问题、解决办法及心得体会。实验4 数据库安全性管理一、实验目的

* 掌握SQL Server身份验证模式。* 掌握创建登录账户、数据库用户的方法。* 掌握使用角色实现数据库安全性的方法。* 掌握权限的分配。二、 实验内容

用可视化界面与SQL两种方式进行下面实验:

1、设置身份验证模式:Windows身份验证模式和混合模验证模式。2、设置登录账户3、设置数据库用户4、设置数据库角色。5、设置管理对象的权限三、实验步骤指导3.1 可视化界面实现1.设置身份验证模式

> 依次单击开始->所有程序->SQL Server 2008->SQL Server Management Studio 启动SQL Server 2008数据库管理系统> 连接成功后,右键你的实例,选择"属性"

> 在"属性"窗口中, 转到"Security"(安全性)项,在"服务器身份验证"中设置为"SQL Server和Windows身份验证模式", 确定,根据提示,应该重新启动sql服务 > 然后执行下面的语句启用sa用户, 同时清除sa的密码(能成功登陆后再根据你的需要设置)     EXEC sp_password null,null,'sa'     ALTER LOGIN sa ENABLE > 语句执行完成后, 再用sa连接你的实例, 应该就没有问题了. 2.设置登录账户

> 创建使用 Windows 身份验证 (SQL Server Management Studio) 的 SQL Server 登录名* ?在 SQL Server Management Studio 中,打开对象资源管理器并展开要在其中创建新登录名的服务器实例的文件夹。* ?右键单击"安全性"文件夹,指向"新建",然后单击"登录名"。* ?在"常规"页上的"登录名"框中输入一个 Windows 用户名。 * ?选择"Windows 身份验证"。

* ?单击"确定"。

> 创建使用 SQL Server 身份验证 (SQL Server Management Studio) 的 SQL Server 登录名 * ?在 SQL Server Management Studio 中,打开对象资源管理器并展开要在其中创建新登录名的服务器实例的文件夹。* ?右键单击"安全性"文件夹,指向"新建",然后单击"登录名"。* ?在"常规"页上的"登录名"框中输入一个新登录名的名称。* ?选择"SQL Server 身份验证"。* ?输入登录名的密码。

* ?选择应当应用于新登录名的密码策略选项。通常,强制密码策略是更安全的选择。 * ?单击"确定"。> 通过 Transact-SQL 创建使用 Windows 身份验证的 SQL Server 登录名

* ?在查询编辑器中,输入以下 Transact-SQL 命令:CREATE LOGIN FROM WINDOWS; GO > 通过 Transact-SQL 创建使用 SQL Server 身份验证的 SQL Server 登录名 * ?在查询编辑器中,输入以下 Transact-SQL 命令:CREATE LOGIN WITH PASSWORD = '' ; GO3.设置数据库用户> 创建数据库用户

* 在 SQL Server Management Studio 中,打开对象资源管理器并展开要在其中创建新登录名的服务器实例的文件夹。* 依次展开数据库,某个具体数据库,"用户"* 右键单击用户,选择"新建用户"* 输入用户名,选择登录名,确定

> 通过 Transact-SQL 创建数据库用户(create user): create user dba for login dba with default_schema=dbo * 并指定数据库用户"dba" 的默认 schema 是"dbo"。这意味着 用户"dba" 在执行"select * from t",实际上执行的是 "select * from dbo.t"。 4设置数据库角色> 新建角色

* 在 SQL Server Management Studio 中,打开对象资源管理器并展开要在其中创建新登录名的服务器实例的文件夹。* 依次展开数据库,某个具体数据库,"角色"* 右击选中新建角色

> 通过 Transact-SQL新建角色:CREATE ROLE role_name> 在对象资源管理器中设置数据库角色

* 在 SQL Server Management Studio 中,打开对象资源管理器并展开要在其中创建新登录名的服务器实例的文件夹。* 依次展开数据库,某个具体数据库,"用户"* 选中某用户,右击"属性",在展开的数据库用户属性对话框中进行设置> 通过 Transact-SQL设置数据库角色

* 通过加入数据库角色,赋予数据库用户"dba"权限: exec sp_addrolemember 'db_owner', 'dba' * 此时,dba 就可以全权管理数据库 mydb 中的对象了。 * 如果想让 SQL Server 登陆帐户"dba"访问多个数据库,比如 mydb2。可以让 sa 执行下面的语句:

* use mydb2 go create user dba for login dba with default_schema=dbo go exec sp_addrolemember 'db_owner', 'dba' go * 此时,dba 就可以有两个数据库 mydb, mydb2 的管理权限了! 5.设置管理对象的权限> 在对象资源管理器中授权:

* 选中需要授权的登录名、用户名或角色名

* 右键单击选择"属性",在弹出的该对象的属性窗口中选择"安全对象",进行权限分配> 通过 Transact-SQL分配权限:通过GRANT和REVOKE语句3.2 1、创建角色StudentRole,拥有创建表,存储过程,视图权限,拥有对Student表的查询、修改、插入权限2、创建一个登录账号Studentlogin3、创建对应于这个登录账号的数据库用户StudentUser4、将用户StudnetUser添加到TestRole角色中5、对角色的权限进行回收。四、实验报告要求

1、写出与上述任务相对应的SQL语句

2、思考数据库服务器上的角色有哪些?权限类型有哪些?3、并记录在实验过程中遇到的问题、解决办法及心得体会。实验5 数据完整性一、实验目的

* 掌握域完整性的实现方法。* 掌握实体完整性的实现方法。* 掌握参照完整性的方法。二、实验内容2.1 使用可视化界面完成数据库的完整性设置:

> 实体完整性

1.将student表的"sno"字段设为主键:在表设计界面中,单击左边的行选定块,选定"sno"字段,单击工具按钮设置主键。如图1所示: 图1

1. 将"sc"表的"sno"和"cno"设置为主键:在表设计界面中,单击并按住Ctrl键拖动左边的行选定块,选定sno和cno字段,单击工具按钮设置主键。如图2所示: 图2

> 域完整性

3. 将"ssex"字段设置为只能取"男","女"两值:在表设计界面,点击鼠标右键--CHECK约束,--添加约束,添加CK_student_sex名称,然后在约束表达式框中输入" ssex in ('男','女') "。如图3所示。图3

> 参照完整性

4. 将"student"表和"sc"表中的"sno"字段设为参照: 打开"sc"表的设计界面, 点击工具栏按钮, 在弹出的属性(properties)对话框中点击"新建"按钮,在"主键表(Primary key table)"下拉框中选择"student"表,在其下的字段选择框中选择"sno",在"外键表(Foreign key table)"下拉框中选择"sc"表,在其下的字段选择框中选择"sno",单击关闭即可。见图4。图4

* 命令方式操作方法:> 实体完整性

1.将"student"表的"sno"字段设为主键: 当"student"表已存在则执行:

alter table student add constraint pk_sno primary key (sno) 当"student"表不存在则执行: Create table student(sno CHAR(5) primary key ,              sname CHAR(10) NOT NULL,             ssex CHAR(2),             sage int,             sdept CHAR(4))

        注:可用命令"drop table student"删除"student"表 2. 添加一身份证号字段,设置其惟一性.(注: 操作前应删除表中的所有记录) Alter table student add id char(18) unique (id) 3. 将"sc"表的"sno"和"cno"设置为主键: 当"sc"表已存在则执行:

alter table sc add constraint PK_SnoCno primary key (sno,cno) 当"sc"表不存在则执行: Create table sc(sno CHAR(5),           cno CHAR(2),

           grade INT NULL,

           constraint PK_SnoCno primary key (sno,cno))           > 域完整性

4. 将"ssex"字段设置为只能取"男","女"两值: 当"student"表已存在则执行:

alter table student add constraint CK_Sex check (ssex in ('男' ,'女')) 当"student"表不存在则执行: Create table student(sno CHAR(5) primary key , sname CHAR(10), ssex CHAR(2) check (ssex in ('男' ,'女')) ,           sage int, sdept CHAR(4)) 5. 设置学号字段只能输入数字:

alter table student add constraint CK_Sno_Format check (sno like '[0-9][0-9][0-9][0-9][0-9]') 6. 设置身份证号的输入格式:

alter table student add constraint CK_ID_Format check ((id like '[0-9][0-9][0-9][0-9][0-9][0-9][1-2][0-9][0-9][0-9][0-1][0-9][0-3][0-9][0-9][0-9][0-9]_') OR (id like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-1][0-9][0-3][0-9][0-9][0-9][0-9]')) 7. 设置18位身份证号的第7位到第10位为合法的年份(1900-2050) alter table student add constraint CK_ID_Format2 check (len(id)=18 and ( (convert(smallint,substring(id,7,4) )>=1900) and(convert(smallint,substring(id,7,4) )<=2050)) )6. 设置男生的年龄必须大于22, 女生的年龄必须大于20.

Alter table student add constraint CK_age check (ssex='男' and sage>=22 or ssex='女' and sage>=20 )> 参照完整性 9. 将"student"表和"sc"表中的"sno"字段设为参照: 当"sc"表已存在则执行:

    alter table sc add constraint FP_sno foreign key (sno) references student(sno ) 当"sc"表不存在则执行:

    Create table sc(sno CHAR(5) constraint FP_sno             foreign key references student(sno),            cno CHAR(2),grade INT NULL,            constraint PK_SnoCno primary key (sno,cno) )* 完整性验证

1. 实体完整性: 在"student"表数据浏览可视化界面中输入学号相同的两条记录将会出现错误如图5所示:图5

或者在命令窗口输入下面两条命令也会出现错误提示:

insert into student values('95003','张三','男',24,'CS','42222919901012903X')insert into student values('95001','李四','女',21,'CS','422229199510129031')图6

下面的语句用来验证"sc"表中的实体完整性:

insert into sc values('95002', '10',65)  insert into sc values('95002', '10',90) 图7

2. 域完整性:

使用下面的语句验证"ssex"字段的域完整性:

 insert into student values('95009','张匀','大',20,'CS', '42222919901012904X') 3.参照完整性:

使用下面的语句"验证"sc表中的"sno"字段的域完整性(假设student表中没有学号为"95998"的学生记录):insert into sc values('98998', '10',98)2.2 根据课本第5章的内容,使用SQL完成数据库的完整性设置。 参照第5章的例题,练习完整性设置,并用违约例子测试。三、实验报告要求

1、写出与上述任务相对应的SQL语句

2、并记录在实验过程中遇到的问题、解决办法及心得体会。实验6 触发器和存储过程实验4.1 触发器实验一、实验目的

* 掌握触发器的创建、修改和删除操作。* 掌握触发器的触发执行。

高校信息化建设

高校信息化建设

二、实验要求

1.创建触发器。

2.触发器执行触发器。

3.验证约束与触发器的不同作用期。4.删除新创建的触发器。三、实验内容 (一)示例

 1.创建触发器

①启动SQL Server 查询编辑器,选择要操作数据库,如"sc(学生选课)"数据库。②在查询命令窗口中输入以下CREATE TRIGGER语句,创建触发器。

为sc(学生选课)表创建一个基于UPDATE操作和DELETE操作的复合型触发器,当修改了该表中的成绩信息或者删除了成绩记录时,触发器被激活生效,显示相关的操作信息。 --创建触发器 CREATE TRIGGER tri_UPDATE_DELETE_sc ON sc

FOR UPDATE,DELETE AS

--检测成绩列表是否被更新 IF UPDATE(成绩) BEGIN --显示学号、课程号、原成绩和新成绩信息

SELECT INSERTED.课程号,DELETED.成绩AS原成绩, INSERTED.成绩AS新成绩 FROM DELETED ,INSERTED WHERE DELETED.学号=INSERTED.学号 END --检测是更新还是删除操作

ELSE IF COLUMNS_UPDATED( )=0 BEGIN --显示被删除的学号、课程号和成绩信号

SELECT 被删除的学号=DELETED.学号,DELETED.课程号, DELETED.成绩AS原成绩 FROM DELETED END

ELSE

--返回提示信息        PRINT ' 更新了非成绩列!' ③点击快捷工具栏上的快捷按钮,完成触发器的创建。 2.触发触发器①在查询命令窗口中输入以下UPDATE sc语句,修改成绩列,激发触发器。 UPDATE sc

SET成绩=成绩+5 WHERE 课程号='101'②在查询命令窗口中输入以下UPDATE sc语句修改非成绩列,激发触发器。 UPDATE sc SET 课程号='113' WHERE 课程号='103'③在查询命令窗口中输入以下DELETE sc 语句,删除成绩记录,激发触发器。 DELETE sc WHERE 课程号='102' 3. 比较约束与触发器的不同作用期

①在查询命令窗口中输入并执行以下ALTER TABLE 语句,为sc表添加一个约束,使得成绩只能大于等于0且小于等于100。     ALTER TABLE sc     ADD CONSTRAINT CK_成绩     CHECK(成绩>=0 AND成绩<=100)②在查询命令窗口中输入并执行以下UPDATE sc语句,查看执行结果。     UPDATE sc      SET成绩=120

     WHERE 课程号='108'

③在查询命令窗口中输入执行以下UPDATE sc语句,查看执行结果。     UPDATE sc     SET成绩=90

     WHERE 课程号='108'

从这部分实验中,我们可以看到,约束优先于触发器起作用,它在更新前就生效,以对要更新的值进行规则检查。当检查到与现有规则冲突时,系统给出错误消息,并取消更新操作。如果检查没有问题,更新被执行,当执行完毕后,再激活触发器。 4. 删除新创建的触发器①在查询命令窗口中输入DROP TRIGGER 语句,删除新创建的触发器。DROP TRIGGER tri_UPDATE_DELETE_sc②点击快捷工具栏上的快捷按钮,删除触发器。 (二)练习

1.在Student表中编写insert的触发器,假如每个班的学生不能超过30个,如果低于此数,添加可以完成;如果超过此数,则插入将不能实现。2.在SC表上编写update触发器,当修改SC表中的grade字段时将其修改前后的信息保存在SC_log表中。四、实验报告要求1、写出与上述任务相对应的SQL语句

2、并记录在实验过程中遇到的问题、解决办法及心得体会。4.2存储过程实验一、实验目的

* 掌握用户存储过程的创建操作。* 掌握用户存储过程的执行操作。* 掌握用户存储过程的删除操作。二、实验内容  1、创建带输入参数的存储过程的存储过程。  2、执行所创建的存储过程。

  3、删除所有新创建的存储过程。三、实验步骤对应于student数据库

(1) 创建一个无参存储过程StuScoreInfo,查询以下信息:学号,姓名,性别,课程名称,考试成绩.(2) 创建一个带参数的存储过程stu_info,该存储过程根据传入的学生编号在student表中查询此学生的信息.(3) 创建一个带参数的存储过程StuScoreInfo2,该存储过程根据传入的学生编号和课程名称查询以下信息:姓名,课程名称,考试成绩.(4) 编写带参数的存储过程,根据传入的课程名称统计该课程的平均成绩.(5) 编写存储过程,根据传入的课程名统计这门课的成绩分布情况,即按照各分数段统计人数.四、实验报告要求

1、写出与上述任务相对应的SQL语句

2、并记录在实验过程中遇到的问题、解决办法及心得体会。实验7 数据库设计综合应用一、实验任务与要求目的与任务:

1. 掌握数据库设计和实现的基本过程2. 掌握数据库模式设计、分析和实现的方法3. 了解数据库应用系统软件开发的一般过程。实验基本要求: (1)学习相关的预备知识

(2)按照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行(3)写出课程设计报告二、课程设计基础知识

数据库设计与实现的基本过程包括需求分析、概念结构设计、逻辑结构设计、数据库的物理设计以及数据库的实施和维护等内容。需求分析确定系统的数据需求和处理需求;概念结构设计通过对用户需求的综合、归纳和抽象,形成一个独立的概念模型;逻辑结构设计则将概念模型转换为具体的数据库管理系统所支持的数据模型;数据库的物理设计结合应用确定数据模型的存储结构和存取方式。在这些工作完成之后,就可以建立数据库并开始调试运行了,在数据库的运行过程中必须对其进行维护--包括数据库的备份与恢复、性能分析与改进等等。1. 概念结构设计--ER图

概念模型是用户需求的抽象,通常用实体关系图(Entity Relationship Diagram,即ER图)来表示。设计ER图的出发点是数据流图层次的选择,一般选择中层的数据流图作为分析设计的依据。在得到各个局部ER图后,需要将它们合并成一张总的ER图。首先是简单的合并,协调各个局部ER之间不一致的地方;然后再对得到总ER图消除冗余,可通过分析数据字典中数据项之间的逻辑关系加以消除。2. 逻辑结构设计--ER图向关系模型的转换

关系数据库的数据模型(即关系模型)由一组关系模式组成,因而ER图向关系模型的转换实际上就是将实体(包括实体的属性)和联系转换为关系模式,一般遵循以下基本原则: 1. 一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。

2. 一个1:X(X为1或n)联系通常与某一端的关系模式合并,其中1:n的联系需要与n端对应的关系模式合并。需要在合并的关系模式的属性中加入另一个关系模式的码和联系本身的属性。 3. 一个m:n联系转换为一个关系模式。与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。 4. 三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体的码的组合。 5. 具有相同码的关系模式可合并。3. 数据库设计过程

    

三、课程设计题目及进度安排

建议6--8人一组建立开发团队。开发团体组织架构和职责:  组长: 1人

负责本开发项目的组织与实施,协调团队各成员的开发进度,负责本开发项目的需求分析,负责课程设计报告文档的组织。  数据库分析员: 1人 负责数据库的概念结构设计 、逻辑结构设计、应用系统功能模块设计,编写相关文档。  用户界面设计员: 1人  负责本开发项目的用户交互界面设计,编写相关文文件。程序员:3-5人

负责本开发项目的编程,并编写相关文档。测试人员: 1人负责本开发项目的程序测试,并编制相关文档。课程设计主题:

每个开发团队选择一个主题来完成课程设计。 您可以自定义主题,也可以从以下主题中选择:1 .客户订单录入系统

一家公司希望为顾客的订单行为建立数据库。 消费者可以持有一个或多个订单,每个订单可以持有一个或多个商品。 每个订单都有一个,可以用支票、信用卡、现金等多种方式支付。 开始注册此客户订单的员工的姓名将被记录。 有适当的部门工作人员负责整理订单病并将这些订单发送给顾客。 如果订购的商品不在库中,则需要在库中注明什么。 这样的话,在订单中有可能会被其他商品填充。2 .库存管理系统一家公司想建立一个管理库存的数据库。 库存中的产品分为服装、食品、文具等几个类别。 如果需要从供应商重新订购产品,工作人员必须提交购买订单。 跟踪记录购买、销售的货物和其他费用。3 .人力资源管理系统

人力资源司希望建立一个管理工作人员的数据库。 一个公司有几个部门,一个员工属于一个部门。 该部门将任命一名经理全面负责部门事务和部门工作人员。 为了便于管理部门的工作,一些工作人员被任命管理小组的工作人员。 新员工进入公司时,需要他以前的工作经验和成绩。 通常,所有员工都要接受面试。 这通常由经理来完成。 公司定义了不同类型的职位,包括经理、业务分析师、销售代表和秘书。 此外,每种类型都有相关的等级,员工的位置决定员工的工资。 职位根据其工作量分配给一个部门。 例如,假设一个部门被分配到两个业务分析员的职位。 每个职位分配给一名工作人员,随着时间的推移,每个职位分配给工作人员。4 .工资管理系统工资管理部门想建立一个数据库来管理员工的工资。 计算员工工资时,应考虑假期外的假期、工作期间的病假时间、奖金和扣除部分。 必须指定给每个员工发工资的方法,随着时间的推移,方式可能会略有变化。 大多数员工用银行卡结算工资,但有些人用现金或支票。 如果是银行卡的话,需要知道账号和卡的类型。 可以根据几个原因扣除工资,包括个人所得税、国家税、医疗保险、退休保险和预付款。5 .学生管理系统

一所大学想建立一个管理学生的数据库。 学生一进入学校,他就会选择专业。 每个学生也指定一名指导老师。 各专业每年由几个课程组成。 构成专业的最小和最大课程数分别为6和8。 通常给一个学生三次通过这门课程考试的机会。 某些特殊课程可以存在于一个或多个专业领域。 大学有几个部门,每个部门都有部门负责人,每个课程都被分配了一定数量的员工,称为课程合作者,负责课程的教学。四、提交课程设计报告。 内容如下。1 .课程设计说明(包括设计主题、设计任务和要求、开发环境说明)。2 .功能需求分析

3 .数据库概念设计4 .数据库逻辑设计5 .应用系统功能模块6 .源代码和运行结果,包括运行界面截图。7 .总结

随机看看

NEW ARTICLE

标签

Tag