文档库 最新最全的文档下载
当前位置:文档库 › 实验七 PowerDesigner数据库设计

实验七 PowerDesigner数据库设计

实验七 PowerDesigner数据库设计
实验七 PowerDesigner数据库设计

实验七PowerDesigner数据库设计

一、目的与要求

1.掌握PowerDesigner建立概念模型的方法

2.掌握PowerDesigner建立物理模型的方法

3.掌握PowerDesigner生成数据库表的方法

4.掌握PowerDesigner生成报表的方法

二、实验准备

1.了解数据库设计的三个主要步骤概念设计、逻辑设计和物理设计要完成的工

作;

2.了解概念模型向逻辑模型转换的方法;

3.了解PowerDesigner软件的操作环境。

三、实验内容

根据对“大学教学管理数据库”进行分析和设计,建立其概念模型,转换成物理模型,并生成标准报表文件。记录操作步骤和模型图。

1.建立概念模型

打开PowerDesigner,选择菜单“new”,选择“Conceptual Data Model”类型的文件,新建模型。如图7-1所示。

打开如图7-2的建立概念模型的主界面,根据分析所得该数据库至少有3个实体,学生,课程,教师及其多对多的联系类型。选择相应的按钮,添加到模型中,双击实体或联系,可以打开并填写实体名,属性,联系名和类型等,如图7-3所示。

注意:图7-2中并不是完整的模型,要根据自己的分析和设计画出完整的“大学教学管理数据库”的概念模型。

完整的概念模型建立完毕,保存成.CDM的文件。

2.转换成物理模型

选择菜单“Tools”下“Generate Physical Data Model”,生成对应的物理模型,选择类型为SQL Server 2005支持的物理模型。如图7-4所示。

在生成的如图7-5所示的物理模型中,双击“选课”联系,添加“成绩”

字段。

图7-5

同样图7-5中也不是本实验要去建立的完整的物理模型,请在完成完整的概念模型后,再生成物理模型,并完善联系自身的属性。结果保存成.PDM的文件。

3.生成数据库表

选择菜单“Database”下“Generate Database”,选定脚本文件的保存位置,如桌面,点击“确定”按钮,生成建立该数据库表的.sql脚本文件。如图7-6所示。

图7-6

查看脚本文件的内容,可在SQL Server2005中打开该脚本并运行,即生成所有的数据库表。

/*==============================================================*/

/* DBMS name: Microsoft SQL Server 2005 */

/* Created on: 2015/6/24 8:45:57 */

/*==============================================================*/

if exists (select 1

from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F')

where r.fkeyid = object_id('选课') and https://www.wendangku.net/doc/3a4063673.html, = 'FK_选课_选课_学生')

alter table 选课

drop constraint FK_选课_选课_学生

go

if exists (select 1

from sys.sysreferences r join sys.sysobjects o on (o.id = r.constid and o.type = 'F') where r.fkeyid = object_id('选课') and https://www.wendangku.net/doc/3a4063673.html, = 'FK_选课_选课2_课程')

alter table 选课

drop constraint FK_选课_选课2_课程

go

if exists (select 1

from sysobjects

where id = object_id('学生')

and type = 'U')

drop table 学生

go

if exists (select 1

from sysobjects

where id = object_id('课程')

and type = 'U')

drop table 课程

go

if exists (select 1

from sysindexes

where id = object_id('选课')

and name = '选课2_FK'

and indid > 0

and indid < 255)

drop index 选课.选课2_FK

go

if exists (select 1

from sysindexes

where id = object_id('选课')

and name = '选课_FK'

and indid > 0

and indid < 255)

drop index 选课.选课_FK

go

if exists (select 1

from sysobjects

where id = object_id('选课')

and type = 'U')

drop table 选课

go

/*==============================================================*/ /* Table: 学生*/

/*==============================================================*/ create table 学生(

学号char(8) not null,

姓名varchar(10) not null,

性别char(2) null,

constraint PK_学生primary key nonclustered (学号)

)

go

/*==============================================================*/ /* Table: 课程*/

/*==============================================================*/ create table 课程(

课程号char(8) not null,

课程名varchar(20) not null,

学分numeric(4,2) null,

constraint PK_课程primary key nonclustered (课程号)

)

go

/*==============================================================*/ /* Table: 选课*/

/*==============================================================*/ create table 选课(

学号char(8) not null,

课程号char(8) not null,

成绩numeric(4,2) null,

constraint PK_选课primary key (学号, 课程号)

)

go

/*==============================================================*/ /* Index: 选课_FK */

/*==============================================================*/ create index 选课_FK on 选课(

学号ASC

)

go

/*==============================================================*/

/* Index: 选课2_FK */

/*==============================================================*/

create index 选课2_FK on 选课(

课程号ASC

)

go

alter table 选课

add constraint FK_选课_选课_学生foreign key (学号)

references 学生(学号)

go

alter table 选课

add constraint FK_选课_选课2_课程foreign key (课程号)

references 课程(课程号)

go

4.生成标准报表文件

在概念模型和物理模型中均可以生成报表文件,选择菜单“Report”下“Generate Report”,如图7-7所示,选择生成“Standard Physical Report”,保存类型为RTF格式。点击OK,生成报表文件后查看文件内容。

图7-7

四、思考与练习

1.概念模型中实体和联系是按照怎样的方法转化成关系模式的?

转换一般遵循如下原则:

(1)一个实体型转换为一个关系模式。实体的属性就是关系的属性。实体的码就是关系的码。

(2)一个联系转化为一个关系模式,与该联系相连的各实体的码以及联系的属性转化为关系的属性,该关系的码则有三种情况:

①若联系为1:1,则每个实体的码均是该关系的后选码。一个1:1联系

可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,每个实体的码均是该关系的候选码。如果与某一端对应的关系模式合并,则需要在该关系模式的属性中加入另一个关系模式的码和联系本身的属性;

②若联系为1:n,则关系的码为n端实体的码。一个1:n联系可以转换

为一个独立的关系模式,也可以与n端对应的关系模式合并。如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。如果与n端对应的关系模式合并,则在n端实体对应模式中加入1端实体所对应关系模式的码,以及联系本身的属性。而关系的码为n端实体的码;

③若联系为m:n,则关系的码为诸实体码的组合。一个m:n联系转换为一

个关系模式。与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性。而关系的码为各实体码的组合。

(3)同一实体集的实体间的联系,即自联系,也可按上述1:1、1:n和m:n 三种情况分别处理。

(4)具有相同码的关系模式可合并。

sqlserver数据库综合实验报告格式

华北科技学院计算机系综合性实验 实验报告 课程名称数据库原理与应用 实验学期 2009 至 2010 学年第一学期学生所在系部管理系 年级三年级专业班级商务B071班 学生姓名李荣妹学号 4121 任课教师郭红 实验成绩 计算机系制

《数据库原理与应用》课程综合性实验报告

(3)建表如下图: 图书表的结构 读者表的结构罚款表的结构 借阅表的结构密码表的结构 输入数据:图书 读者 S只学生,t指老师,1指没有超期,0表示超期 借阅 罚款

密码: (4)、创建视图。以sa的身份登录数据库,创建视图V1,V2,V3 create VIEW V1 create VIEW V2 create VIEW V3 AS AS AS select * from 图书 select * from 借阅 select * from 罚款 建立视图V5,查看在库的图书:create view V5 as select *from 图书 where 借阅状态=‘在库’ 建立已被借出去的图书视图 create view V6 as

select * from 图书 where 借阅状态='出库' 建立逾期未还的图书的学生视图: create view V7 as select * from 借阅 where datediff(day,convert(smalldatetime,借出日期),getdate())>’30’ and 借书证号 in(select 借书证号 from 读者,借阅 Where 借阅.借书证号=读者.借书证号 and 读者类别=‘s’ 四、物理设计和自定义完整性 建立索引:为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是表中建立索引的表项: 图书表(图书编号,条形码号)读者(借书证号)借阅(借书证号,条形码号)罚款表(借书证号,条形码号)密码(借书证号) (2)建立触发器 a.对已有借书证的读者进行查询借书是否超期(这里归定30天): create trigger T1 on 读者 for insert as select 借阅.借书证号,读者.读者姓名,图书.图书编号,图书.书名,借阅.借出日期 from 读者,借阅,图书 where 读者.借书证号=借阅.借书证号 and 图书.条形码号=借阅.条形码号 and 读者类别='s' and Datediff(day,convert(smalldatetime,借出日期),getdate())>=30 b.建立触发器T2(还书时): create trigger T2 on 借阅 for insert as begin update 图书 set 借阅状态='在库' where 条形码号=(select 条形码号 from inserted) update 借阅 set 归还日期=getdate(); update 读者 set 书数=书数-1 where 借书证号=(select 借书证号 from inserted) end c.建立触发器T3(借书书时): create trigger T3 on 借阅 for insert as begin update 图书 set 借阅状态='入库' where 条形码号=(select 条形码号 from inserted) update 借阅 set 借出日期=getdate(); update 读者 set 书数=书数+1 where 借书证号=(select 借书证号 from inserted) end d.建立触发器T4,实现超出借书数目时禁借(针对老师的): create trigger T4 on 读者 for insert

数据库实验报告七

学院计算机学院/软件学院 实验报告 专业软件工程班级软件2班焕荣学号 2 课程名称数据库原理与设计 学年2016—2017 学期 1□/ 2课程类别专业必修限选□任选□实践□评分:批阅老师: 2017年月日 实验七查询优化 ●实验目的 1. 了解DBMS对查询优化的处理过程。 2. 增强查询优化的实践能力。 3. 进一步提高编写复杂查询的SQL脚本的能力。 4. 巩固和加深理解查询相关理论。 ●实验容 针对数据库ShiYan,完成以下查询优化操作。 (1)查询P表中各零件编号、名称及重量按86%计算后的信息,其中重量按86%计算后的查询列名改为“零件净重”。 要求: 1) 考虑表扫描的情况。 2) 考虑建立适当索引的情况。 3) 考虑重写SQL脚本的情况。 4) 用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和客户统计信息。 5) 记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。 (2)查询没有使用供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO。 要求: 1) 考虑表扫描的情况。 2) 考虑建立适当索引的情况。 3) 考虑重写SQL脚本的情况。 4) 用不同的方法实现本题中的查询操作,分析系统为各种查询实现方法生成的执行计划和

客户统计信息。 5) 记录各种查询的平均执行时间,决定哪种查询实现方法是相对最优的。 实验结果 (1) A.方法一:“表扫描” Sql语句如下: select PNO,PNAME,WEIGHT*0.86 零件净重 from P 实验结果截图:

B.方法二:“在P(PNO)上建立唯一索引” create unique index PNO_index on P(PNO) select PNO,PNAME,WEIGHT*0.86 零件净重 from P 实验结果截图: 由上可知,方法二相对最优。

实验一 数据库设计(答案)

实验一数据库设计 一、实验目的 使用规范的数据库设计方法,分析并设计“FL Y(飞翔)信息管理系统”的数据库。 二、实验要求 1. 掌握数据库设计步骤。 2. 掌握数据库概念模型设计,熟练绘制E-R图。 3. 掌握数据库关系模型的设计。 三、实验内容 实验1-1 “FL Y(飞翔)信息管理系统”数据库需求分析 飞翔公司是一家大型批发连锁企业,在全国各地分布多家连锁公司,该公司为了加强信息化管理,准备开发一个信息管理系统,以便对其连锁机构、员工、订单、供应商、零售商和商品等信息进行统一管理。经过需求调研分析,该数据库系统主要包含以下信息: 1)公司信息:主要包括公司名称、公司编号、公司地址、所属区域、公司属性等信息。其 中公司属性包括三种类型:总部、直属和加盟。 2)员工信息:主要包括员工的姓名、性别、民族、出生日期、工作日期、婚否、职称、简 历、基本工资、所属公司等信息。每个连锁公司有多名员工,每个员工只能属于一个公司。 3)商品信息:主要包括商品名称、商品编号、商品的销售价格、商品的进货价格、商品的 类型和该商品的供应商等信息。 4)订单信息:主要包括:订单编号、购买客户、送货方式、付款方式、订货日期、签订该 订单的员工,以及该订单中包含的商品、数量、价格和折扣等信息。其中,每张订单由一名员工与一名零售商签订,送货方式包括“送货上门”和“自行提货”两种类型,付款方式包括“现金”、“支票”和“银行卡”三种类型。 5)零售商信息:主要包括零售商的编号、名称、联系人、所属城市、地址、邮编、电子邮 箱等信息。零售商是飞翔公司批发销售商品面向的客户。 6)供应商信息:主要包括:供应商的编号、名称、地址等信息。供应商是飞翔公司商品进 货的供货方。 实验1-2 设计“FL Y(飞翔)信息管理系统”数据库概念模型 根据前述实验的需求分析结果,设计“FL Y(飞翔)信息管理系统”数据库E-R模型,如图1.1所示。 其中包含的实体集有:“公司机构”、“员工”、“员工工资”、“订单”、“商品”、“商品类型”、“零售商”和“供应商”。各实体集之间的联系如图1.1所示。

数据库原理及应用综合实验模版

数据库综合实验 题目:图书借阅管理系统 专业:计算机类班级: 姓名:学号: 指导教师:杨柯成绩: 完成日期:2016 年6月18 日

1.系统需求分析 图书借阅管理系统的具体要求如下所述: (1)图书信息的录入:要求能够将图书信息录入到数据库中。 (2)图书信息的修改:根据需要修改、删除图书信息。 (3)用户登录:根据用户权限登录此系统。 (4)系统用户管理:要求可以管理系统的用户,包括添加、修改和删除用户。 (5)借阅证件信息录入:可以输入不同类型的借阅者信息,并根据需要修改、删除借阅证信息。 (6)借阅证管理:包括借阅证丢失、过期等管理。 (7)借阅管理:包括借书、还书、过期还书与书籍丢失处罚等管理。 2.系统功能设计 图书借阅管理系统的功能基本结构图如图1所示: 图1 图书借阅管理系统功能结构图 (1)用户管理模块:主要用于录入用户的信息,显示用户名及类型,包括添加用户、删除用户、修改用户等功能。用户类型的设置使得只有超级用户才有权限访问此界面。 (2)重新登录模块:用于其他用户重新登录。 (3)图书分类管理模块:将图书分为二级分类进行管理,包括添加、删除、修改图书分

类等功能。 (4)图书基本信息管理模块:根据图书分类录入图书信息,对图书信息进行管理,其基本功能包括添加、删除、修改图书信息。 (5)借阅证件类型管理模块:用于管理借阅证件类型,根据借阅证件类型确定借阅图书的时间、续借时间、借阅图书的数目等,包括添加、删除、修改借阅证件类型信息等基本功能。 (6)借阅证件管理模块:根据借阅证件状态(有效、过期、挂失等)与证件类型对借阅证件信息进行管理,确定借阅者的单位、身份、借书天数、借书数目等信息,包括添加、删除、修改借阅证件信息等基本功能。 (7)图书借阅管理:为系统核心部分,他根据图书借阅状态(借阅、续借、过期)来管理图书的借阅操作,包括借阅、续借、归还、丢失图书等操作功能。 3.数据库概念结构设计 根据系统需求分析和功能设计,可以将数据规划为以下实体:图书实体、读者实体、借阅实体。它们之间的关系如图2所示: 图2 图书借阅管理系统E-R图 4.数据库逻辑结构设计 根据功能设计和E-R图,设计6个数据表如下: 表1 BookType 图书分类信息表

数据库上机实验7实验报告

上机实验七——视图的建立及操作 一、实习目的: 掌握创建、删除、和查询视图的方法,验证可更新视图和不可更新视图。 二、实习准备: 1.复习第三章3.6节视图 2. 完成习题三第16题中的各项操作的SQL语句。 3.了解可更新视图和不课更新视图 三、实习内容:验证习题三第16题中的各项操作的SQL语句。 ①建立01311班选修了1号课程的学生视图Stu_01311_1 CREATE VIEW Stu_01311_1 AS SELECT * FROM Grade WHERE Cno='1'AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ②建立01311班选修了1号课程并且成绩不及格的学生视图Stu_01311_2 CREATE VIEW Stu_01311_2 AS SELECT * FROM Grade

WHERE Cno='1'AND Gmark<60 AND Sno in( SELECT Sno FROM Student WHERE Clno='01311') WITH CHECK OPTION ③建立视图Stu_year,由学生学号、姓名、出生年份组成 CREATE VIEW Stu_year AS SELECT Sno,Sname,year=2001-Sage FROM Student ④查询1990年以后出生的学生姓名 SELECT Sname FROM Student WHERE 2001-Sage<1990; ⑤查询01311班选修了1号课程并且成绩不及格的学生的学号、姓名、出生年份SELECT Sno,Sname,2014-Sage FROM Student WHERE Clno=01311 AND EXISTS(

小型数据库实验设计报告

MK超市数据库设计实验报告 课程名称数据库系统原理成绩评定 实验项目名称数据库设计指导教师朱蔚恒 实验项目编号实验四实验项目类型设计性 学生姓名,学号郭美岑2012050754 梁蕴嘉2012050725 学院公共管理应急管理学院系应急管理专业应急管理

一背景 最初的时候,超市管理由人力完成,但是超市的规模越来越大的时候,再以人力管理可能会造成数据缺失冗余等各种各样的问题,而且人力工作效率低。因此用数据库进行管理可以把数据集中、统一、规划,实现科技管理。本数据库主要作用是在一个小超市中,进行对员工档案。库存商品的管理以及销售管理。这个数据库提供的是信息咨询信息检索,信息储存的多项功能。可以实现多项功能。 二实验目的 1学习数据库的我们不仅是要了解数据库的基本知识和简单操作,而且要能掌握数据库设计的方法和步骤,而且能自己动手设计出一个能够付诸于实际的数据库,能够为企业或者是小团体带来方便。同时数据库设计也能考察我们对数据库的实际应用能力。 三实验步骤 1. 需求分析 2. 概念模型设计(E-R图) 3. 逻辑结构设计 4. 物理结构分析 5. 将SQL语言输入数据库 6. 数据库的实施,包括加载数据库和调试运行程序 步骤一: 需求分析: 主要包括员工档案管理、库存商品管理、销售设计程序,厂商信息员工档案管理:包括员工的基本个人信息(编号姓名性别年龄电话) 库存商品信息:包括进货和剩余货物的详细信息,易于查找库存量 销售设计程序:包括每次售出商品的详细信息 厂商信息:能够查找到每个货物的厂家。查询商品的基本信息(编号名称地址电话号联系人) 商品信息:包括商品编号,金额,数量等等 具体的功能有:1.输入信息的功能 (1)输入商品的信息:包括编号,名称,数量,进货价,和卖出价格 (2)需要输入员工的信息:包括姓名,性别,年龄,电话号码等 (3)需要输入入库记录信息:包括商品编号,商品名称,商品类别等 2.具有信息储存的功能 3.具有信息浏览的功能 4.具有信息查询的功能 6.具有系统维护功能 步骤二:

数据库实验报告

数据库实验报告

武汉理工大学 学 生 实 验 报 告 书 实验课程名称 数据库系统概论 开 课 学 院 计算机科学与技术学院 指导老师姓名 学 生 姓 名 学生专业班级 学生学号 实验课成绩

2013 — 2014 学年第二学期实验课程名称:数据库系统概论 实验项目名称SQL SEVER 2000的系 统工具及用户管理 实验 成绩 实验者专业班 级 组别 同组者实验 日期 2014年4 月24日

第一部分:实验分析与设计(可加页) 一、实验内容描述(问题域描述) 实验目的和要求:了解SQL SEVER 2000的功能及组成,熟练掌握利用SQL SEVER 2000工具创建数据库、表、索引和修改表结构及向数据库输入数据、修改数据和删除数据的操作方法和步骤,掌握定义数据约束条件的操作。 二、实验基本原理与设计(包括实验方案设计,实 验手段的确定,试验步骤等,用硬件逻辑或者算法描述) 实验内容和步骤: (1)熟悉SQL SEVER 2000的界面和操作。 (2)创建数据库和查看数据库属性。 (3)创建表、确定表的主码和约束条件。 (4)查看和修改表的结构。 (5)向数据库输入数据,观察违反列级约束时出现的情况。 (6)修改数据。 (7)删除数据,观察违反表级约束时出现的情况。 三、主要仪器设备及耗材 Windows XP SQL SERVER 2000

第二部分:实验调试与结果分析(可加页) 一、调试过程(包括调试方法描述、实验数据记录, 实验现象记录,实验过程发现的问题等) 没有错误 错误:未能建立与WORKEPLACE\XUMENGXING的链接SQL Server 不存在或访问被拒绝 原因:未启动数据库服务 二、实验结果及分析(包括结果描述、实验现象分 析、影响因素讨论、综合分析和结论等) 实验结果部分截图:

数据库实验3报告

实验三数据更新、视图、权限管理 实验3.1 数据更新 1 实验内容 (1) 使用INSERT INTO语句插入数据,包括插入一个元组或将子查询的结果插入到数据库中两种方式。 (2) 使用SELECT INTO语句,产生一个新表并插入数据。 (3) 使用UPDATE语句可以修改制定表中满足WHERE子句条件的元组,有三种修改的方式:修改某个元组的值;修改多个元组的值;带子查询的修改语句。 (4) 使用DELETE语句删除数据:删除某一个元组的值;删除多个元组的值;带子查询的删除语句。 2 实验步骤 在数据库School上按下列要求进行数据更新 可在SQL代码前加下面两句SQL语句,用于确保当前使用的是School数据库 Use School go (1)使用SQL语句向STUDENTS表中插入元组(编号:12345678 名字:LiMing EMAIL: LM@https://www.wendangku.net/doc/3a4063673.html,年级:2002)。 Insert into STUDENTS values('12345678','LiMing','LM@https://www.wendangku.net/doc/3a4063673.html,','2002') (2)对每个课程,求学生的选课人数和学生的最高成绩,并把结果存入数据库。使用SELECT INTO和INSERT INTO两种方法实现。 Insert into: create table Courses_maxScore(cid char(20),Count_courses int,maxScore int) insert into Courses_maxScore (cid,Count_courses,maxScore) select cid,count(*)as Count_courses,max(score)as maxScore from CHOICES group by cid select*from Courses_maxScore

数据库设计性实验报告

数据库系统概论实验报告 一、实验题目 小型CMS博客系统的设计与实现 二、实验要求 利用学习的数据库设计的方法和步骤,为选择的应用设计数据库、必要的索引、视图、编写应用程序。 三、总的设计思想,及环境语言、工具等 1、建立系统的目的,系统总体概况的介绍 进行博客系统开发的主要目的是为了提高自己的实践能力、学会自主开发独立程序,学会将所学知识应用于实践中,并在实践中不断学习。在大学里本人所学的知识大多数是从课本上得到的,而这次是要通过动手来实践,实习对本人来说是一次很好的锻炼。 本人所要实现的是一个小型CMS博客系统,用户在注册后可以实现在后台操作数据库更改网站标题、版本号、管理博客、管理日志分类等,在前台可以查看已公开的博客等。本次课程设计初步目标是实现博客的基本功能,在这个基础上对功能进行扩充。 2、选用的语言 利用WINDOWS XP结合DREAMWEAVER和access搭建ASP的环境平台,语言采用强大的vbscript。采用了IIS5.1。 3、需求分析的方法和结果 通过对现行博客系统的基本功能进行调查,明确了CMS博客系统由查看博客、发表博客、回复博客、管理员通过后台管理登录管理日志分类、修改删除博客、发表新文章、设置主页信息等等。用户对系统的描述如下。 a)用户基本功能 1)匿名用户可以查看用户公开的博客,并且可以通过注册申请成为正式用户。 b)管理员基本功能 1)发表新文章。 2)管理文章、如添加删除等。 3)管理分类,如添加、删除、重命名。 4)设置主页上显示的博客条数或者版本号。 数据流图

数据库逻辑模型 将图书馆管理系统的E-R图转换为关系数据库的数据模型,其关系模式为: 博客用户(用户,密码,邮箱),其中用户为主码; 版本信息(版本ID,URL,主页底部信息,副标题),其中版本ID为主码; 日志分类信息(编号,分类名称,基本表述(在鼠标放到分类上后显示的小标签)) 将CMS系统的数据库名定为“SimpleCMS” 数据库模式的规范化 各表的函数依赖集: F博客用户={用户→密码}; F类别={分类ID→名称,分类ID→基本描述}; F版本信息={编号→网站名,编号→网址,编号→底部信息,编号→副标题信息}; 上述关系模式中不存在对非码依赖的表达式,所有的非主属性对码完全并直接依赖,由此证明,博客数据库中各表均服从BCNF,其规范化程度较高,数据库设计合理。 4、E-R图

数据库实验报告记录7

数据库实验报告记录7

————————————————————————————————作者:————————————————————————————————日期:

《数据库原理》实验报告 题目:实验七事务与并发控制学号姓名班级日期Xxxx Xx Xxx 2016.11.10 一. 实验内容、步骤以及结果 假设学校允许学生将银行卡和校园卡进行绑定,在 student 数据库中有如下的基本表,其中校园卡编号 cardid 即为学生的学号: icbc_card(studcardid,icbcid,balance) //校园卡 ID,工行卡 ID,银行卡余额 campus_card(studcardid,balance) //校园卡 ID,校园卡余额数据创建的代码:

1.编写一个事务处理(begin tran)实现如下的操作:某学号为20150032的学生要从银 行卡中转账200元到校园卡中,若中间出现故障则进行rollback。(15分) 修改后的结果: 2.针对本题的数据库和表,分别用具体的例子展现四种数据不一致问题:丢失修改、 读脏数据、不可重复读和幻读(删除和插入)。(40分,每种数据不一致10分) 丢失修改: --事务一: begin tran declare @balance decimal(10,2) select @balance=balance from campus_card where studcardid='20150033' waitfor delay'00:00:05' set @balance=@balance-10 update campus_card set balance=@balance where studcardid='20150033' commit tran go select balance from campus_card where studcardid='20150033'

数据库综合实验报告(学生成绩管理系统)

数据库综合实验报告 班级:计科*** 班 学号: **** 姓名: *** 2011年12月

数据库应用系统的初步开发 一、实验类别:综合型实验 二、实验目的 1.掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方案,并加深对数据库系统系统概念和特点的理解。 2.初步掌握基于C/S 的数据库应用系统分析、设计和实现方法。 3.进一步提高学生的知识综合运用能力。 三、实验内容 在SQL Server2000数据库管理系统上,利用 Microsoft Visual C++ 6.0开发工具开发一个学生成绩管理系统的数据库应用系统。 四、实验过程 (一.)系统需求说明 1 系统功能要求设计:此系统实现如下系统功能: (1)使得学生的成绩管理工作更加清晰、条理化、自动化。 (2)通过用户名和密码登录系统,查询课程基本资料,学生所选课程成绩,修改用户密码等功能。 容易地完成学生信息的查询操作。 (3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。 2 系统模块设计 成绩管理系统大体可以分成二大模块如, 一是学生的基本信息模块,里面应该包含学生的各方面的基本信息;再者便是课程管理模块, 在该模块中应该包含有对学生成绩信息的查询和处理,如平均成绩、最好成绩、最差成绩以及不及格学生的统计等功能模块;再其次还有教师、课程等相关信息的模块;可以得到系统流程图: 登陆失败 退出系统 用户 验证 登陆成功

3 数据字典 数据项是数据库的关系中不可再分的数据单位,下表分别列出了数据的名称、数据类型、长度、取值能否为空。利用SQL Server 2000建立“学生选课”数据库,其基本表清单及表结构描述如下: 数据库中用到的表: 数据库表名关系模式名称备注 Student 学生学生学籍信息表 Course 课程课程基本信息表 Score 成绩选课成绩信息表 Student基本情况数据表,结构如下: 字段名字段类型Not Null 说明 Student _sno Char Primary key 学号 Student _sn char Not Null 学生姓名 Student _sex char ‘男’或‘女’性别 Student _dept char 系别 Student_age char 年龄 Student_address char 地址 course数据表,结构如下: 字段名字段类型约束控制说明 course_cno char 主键(primary key)课程号 char not null 课程名称course_cnam e course_hour int not null 课时 course_score numeric(2,1) not null 学分 score情况数据表,结构如下: 字段名字段类型约束控制说明 score_id int not null 成绩记录号 course_cno char 外部键课程号 student_sno char 外部键学号 score int 成绩 (二)数据库结构设计 1.概念结构设计 由需求分析的结果可知,本系统设计的实体包括: (1)学生基本信息:学号,姓名,性别,地址,年龄,专业。 (2)课程基本信息:课程名,课程号,分数,学时,学分。

数据库实验报告(7个实验完整附截图)

福建农林大学计算机与信息学院 实验报告 课程名称:数据库原理及应用 姓名: 系:计算机科学与技术 专业:计算机科学与技术 年级:2012 级 学号: 指导教师:陈长江 2014 年5月18 日

实验项目列表 序号实验项目名称成绩指导教师 1 实验一数据库的定义实验(验证性) 2 实验二数据库的建立和维护实验(验 证性) 3 实验三数据库的查询实验(验证性) 4 实验四数据库的视图操作实验(验证 性) 5 实验五触发器、存储过程操作实验 (综合性) 实验一:数据库的定义实验 一、实验目的: 1、理解MySQL Server 6.0 服务器的安装过程和方法; 2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL 语句和进行结果分析。 二、实验环境: 硬件:PC机 软件:Windows操作系统、MySQL Server 6.0 和Navicat for MySQL 9.0

三、实验内容和原理: 1、安装MySQL以及相应的GUI工具 2、用SQL命令,建立学生-课程数据库基本表: 学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept); 课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit); 选课SC(学号Sno,课程号Cno,成绩Grade); 要求: 1) 用SQL命令建库、建表和建立表间联系。 2) 选择合适的数据类型。 3) 定义必要的索引、列级约束和表级约束. 四、实验步骤: 1、运行Navicat for MySQL,然后进行数据库连接,进入到GUI界面; 2、利用图形界面建立基础表: student 表的信息: 字段名类型长度约束条件 Sno varchar9非空、主键 Sname varchar20 Ssex varchar2 Sage smallint 6 Sdept varchar20 course表的信息: 字段名类型长度约束条件 Cno varchar4非空、主键 Cname varchar40 Cpno varchar4与 course 表中 Cno 关联 Ccredit smallint 6

数据库实验2:小型数据库设计

题目:自己设计一个小型数据库。 个人比较喜欢看电影,于是用Python爬了豆瓣Top250的电影,做了一个关于电影的小型数据库,这里只举一小部分作为例子。 关系模式: 电影名称关系模式 TITLE(MNO,MNAME) 电影评分关系模式 RATING(MNO,MSCORE) 电影标签关系模式 TAG(MNO,MTAG) 演员关系模式 ACTOR(NAME,BIRTH,STAR,BLOOD) 创建数据表: CREATE TABLE TITLE( MNO CHAR(10) PRIMARY KEY, MNAME CHAR(50) UNIQUE, ); CREATE TABLE RATING( MNO CHAR(10) PRIMARY KEY, MSCORE FLOAT(10), ); CREATE TABLE TAG( MNO CHAR(10) PRIMARY KEY,

MTAG CHAR(20), ); 插入数据: INSERT INTO TITLE(MNO,MNAME) VALUES (1,'肖申克的救赎'), (2,'霸王别姬'), (3,'这个杀手不太冷'), (4,'阿甘正传'), (5,'美丽人生'), (6,'千与千寻'), (7,'泰坦尼克号'), (8,'辛德勒的名单'), (9,'盗梦空间'), (10,'机器人总动员'); SELECT * FROM TITLE INSERT INTO RATING(MNO,MSCORE) VALUES (1,9.6), (2,9.5), (3,9.4), (4,9.4), (5,9.5), (6,9.3), (7,9.3), (8,9.4), (9,9.3), (10,9.3); INSERT INTO TAG(MNO,MTAG) VALUES (1,'犯罪'), (2,'同性'), (3,'犯罪'), (4,'剧情'), (5,'剧情'), (6,'动画'), (7,'灾难'), (8,'剧情'), (9,'科幻'), (10,'动画'); (1)选择评分大于等于9.4的电影;

数据库实验七实验报告

一.实验目的 熟练掌握SQL Server中变量、数据类型和表达式的定义和使用,掌握Transact—SQL中常用系统函数的使用,掌握流程控制语句和结构化程序设计方法,掌握分行处理表中记录机制以及利用游标对数据进行查询、修改和删除的方法。 二.实验准备 1.物理准备:安装了SQL sever的计算机一台,连接服务器;2.实验指导书:《数据库技术与应用》蓝皮书; 3.理论准备:掌握以下基础知识: (1)T ransact—SQL中变量、数据类型和表达式的使用。 (2)T ransact—SQL中常用系统函数的使用。 (3)利用程序控制语句实现结构化程序设计。 (4)利用游标分行处理机制实现数据的定位、查询、修改和删除三.实验题目 (1)定义局部变量@max,@min接收学生表studinfo中的最大出生日期和最小出生日期的查询结果。 实验过程:编写Transact—SQL语句 declare @max char(30),@min char(30) select @max=max(出生日期) , @min=min(出生日期) from student_xuesheng select @max as 最大,@min as 最小 运行结果:

(2)在学生表studinfo中增加一个字段,利用系统函数与出生日期信息计算每个同学的年龄。 实验过程:编写Transact—SQL语句 分析:先增加年龄字段,再将函数运算之后的年龄添加进去 --alter table student_xuesheng --add 年龄 int --GO if exists(select 出生日期 from student_xuesheng where 出生日期 is not null) begin update student_xuesheng set 年龄=year(getdate())-year(出生日期) end 运行结果:

数据库实验设计

课程:数据库技术 实验一建立数据库 实验名称:建立数据库 实验内容:在SQL Server环境下建立数据库和维护数据库。 实验目的:理解SQL Server数据库的存储结构,掌握SQL Server数据库的建立方法和维护方法。 实验方法:在SQL Server环境下用CREATE DATABASE命令建立数据库(注意:需要是系统管理员用户,或者被指定dbcreator固定服务器角色的成员,或者被显式地授予CREATE DATABASE权限,有关权限的内容请课文5.2节) 实验要求: 1、根据上体要求创建如下3个数据库: a)创建数据库test1(使用一个数据文件和一个日志文件),要求指定一个数据文件、 一个事务日志文件,并把它们安排在不同的硬盘上。 b)创建数据库test2(使用多个数据文件和多个日志文件),要求使用3个数据文件和 两个事务日志文件,主数据文件是列表中的第一个文件或者用关键字PRIMARY指 定(文件扩展名:主数据文件使用.mdf,次数据文件使用.ndf,事务日志文件使 用.ldf)。 c)创建数据库test3(使用文件组),要求使用3个文件组(含主文件组,默认的文件 组),每个文件组包含两个数据文件,并且每个文件组要安排在不同的硬盘上。 2、修改建立的test1数据库,为之添加一个5MB大小的新数据文件。 3、修改建立的test2数据库,将其中的主数据文件增加5MB的存储空间。 4、删除建立的数据库test1。 实验步骤: 1.1(1)分别在D盘和F盘新建一个SQL server的文件夹 (2)点击新建查询 (3)输入如下代码 create database tese1 on ( name=tese1, filename='D:\SQL server,mdf', size=10, maxsize=50, filegrowth=5) log on ( name=tese1_log, filename='F:\SQL server.ldf', size=5mb, maxsize=25mb, filegrowth=5mb) 然后点击执行 1.2(1)在E盘新建SQL server文件夹并在这个文件夹中新建两个名为test2和test2_1的文件夹

数据库实验六-综合实验

实验六数据库原理综合实验 1实验目的 (1)运用所学的数据库设计技术,针对一个具体的应用系统,完成系统数据库的概念模型、逻辑模型和物理模型的设计。以巩固理论课程上所学的知识,更好地掌握数据库设计技术方法。(2)对前面章节所学的知识加以综合应用。 2实验内容 给定一个应用环境,如学生选课系统、超市管理系统、某企业库存管理系统、学校图书管理系统、学校综合积分管理系统等等。(同学们课从上述选定一个题目,也可以选取一个自己较熟悉的应用环境)。完成下面的工作 2.1 数据库概念模型设计 (1)进行需求分析。-对系统的语义进行描述(包括功能、所需的数据及他们之间的关系和处理方法) (2)识别系统中的实体及实体的属性,分析实体之间的联系。 (3)设计数据库概念模型,画出E-R图。 2.2 数据库逻辑模型设计 (1)根据数据库概念模型设计数据库的逻辑模型。-将E-R模型转化到逻辑模型 (2)根据应用需要和规范化理论对逻辑模型进行优化。 2.3 数据库物理模型设计 (1)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。(2)优化物理模型 (3)生成某种DBMS的SQL语句,创建数据库及其表。 2.4 装载数据 (1)收集真实数据或者生成模拟数据。 (2)批量加载数据到数据库中。 (3)设计一系列SQL语句,尤其是连接查询、嵌套查询等SQL语句,已测试数据库性能。 3实验要求 (1)可以借助POWERDESIGNER等系统分析与设计辅助工具进行数据库设计,也可以使用WORD文件直接生成各种设计文档。

(2)选择的数据库应用系统应该规模适中,不宜太大太复杂,可能做不完;也不宜太小太简单,甚至仅有三两个表组成。 (3)要设计良好的数据库完整性约束。 (4)思考题:数据库设计通常由哪些辅助工具?各有哪些优缺点? 4实验步骤 4.1 数据库概念模型设计 (1)进行需求分析。 (2)设计数据库概念模型,画出E-R图。 4.2 数据库逻辑模型设计 (3)根据数据库概念模型设计数据库的逻辑模型。 (4)对逻辑模型进行优化。 4.3 数据库物理模型设计 (5)针对某种DBMS,设计数据库物理模型,包括表空间、表和索引等于物理存储有关的设计。(6)优化物理模型 (7)生成某种DBMS的SQL语句,创建数据库及其表。 4.4 装载数据 (8)收集真实数据或者生成模拟数据。 (9)批量加载数据到数据库中。

数据库实验报告

课程设计报告题目:数据库实验上机实验报告 专业班级:计算机科学与技术1210班 学号:U201215079 姓名:候宝峰 指导教师: 报告日期:2015-06-04 计算机科学与技术学院

目录 一、基本SQL操作(部分选做) (1) 1)数据定义 (1) 2)数据更新 (3) 3)用SQL语句完成下述查询需求: (4) 二、DBMS综合运用(部分选做) (8) 1)学习sqlserver的两种完全备份方式:数据和日志文件的脱机备份、系统的备份功能(选做)。 (8) 2)学习系统的身份、权限配置操作 (9) 3)了解SQLSERVER的存储过程、触发器、函数实现过程 (14) 三、实验总结 (17) 1)实验问题及解决 (17) 2)实验心得 (18)

一、基本SQL操作(部分选做) 1)数据定义 参照下面的内容建立自己实验所需的关系数据 创建三个关系: 商品表【商品名称、商品类型】 GOODS【GNAME char(20),GTYPE char(10)】 主关键字为(商品名称)。商品类型为(电器、文具、服装。。。) 商场【商场名称,所在地区】 PLAZA【PNAME char(20),PAREA c har(20)】 主关键字为商场名称。所在地区为(洪山、汉口、汉阳、武昌。。。) 销售价格表【商品名称、商场名称、当前销售价格、目前举办活动类型】 SALE【GNAME char(20),PNAME char(20),PRICE FLOAT,ATYPE c har(10)】 主关键字为(商品名称、商场名称)。举办活动类型为(送券、打折),也可为空值,表示当前未举办任何活动。表中记录如(‘哈森皮靴’,‘亚贸广场’,200,‘打折’),同一商场针对不同的商品可能采取不同的促销活动。 create table goods(gname char(20) primary key,gtype char(10)); create table plaza(pname char(20) primary key,parea char(20)); create table sale (gname char(20), pname char(20), price FLOAT, atype char(10)check (atype in('送券','打折','')), primary key(gname,pname), foreign key(gname)references goods(gname), foreign key(pname)references plaza(pname));

数据库实验六 数据库系统设计

实验六数据库系统设计(设计性实验) 一、指导思想 根据前期准备阶段的分析和设计报告,综合前面所学的知识点,完成一个完整数据库系统的设计,包括:数据库的建立,数据表的建立,索引、视图的建立,数据安全与恢复机制的建立等 二、实验目的及要求 本项目的具体内容为完成“学生选课系统”的数据库设计,本系统拟实现对学生基本信息、教师基本信息、课程基本信息、教室基本信息的管理;实现对学生选课过程的管理(学生登录后,查询可开课信息、输入选课信息);实现对选课数据的后处理;实现对选修课程安排的处理。 三、涉及的内容或知识点 数据库的基本概念、数据库、数据表的建立、数据的维护与管理;数据查询,视图,数据的备份与恢复等知识点。 四、采用的教学方法和手段 要求学生使用SQL_sever数据库进行设计,最后提交一份完整的设计报告。内容包括: E-R图及数据库与表设计,视图与索引, 安全 与备份机制等。

附一: 数据库系统设计报告 学生选课系统设计报告 一、选课系统设计概述(目的、任务、开发环境、 参考资料) 1.系统设计目的 “学生选课系统”拟实现对学生基本信息、教师基本信息、课程基本信息、教室基本信息的管理;实现对学生选课过程的管理(学生登录后,查询可开课信息、输入选课信息);实现对选课数据的后处理;实现对选修课程安排的处理。 2.系统完成任务 基础信息处理、选课处理模块、选课信息后处理模块及选修课排课模块 3.开发环境 硬件环境 CPU: 内存: 磁盘空间: 软件环境 操作系统: Windows Xp 数据库:SQL SEVER 4.参考资料或相关网站

二、项目需求分析 ?基础信息处理模块: 该模块可完成对选课系统中的基础数据的管理:包括“教师”、“学生”、“课程”、“教室”等基础信息的输入修改等。 ?选课处理模块: 该模块可以完成可选课程度的查询、选课信息的输入修改等,数据完整性、安全性等实验可考虑在此处引入; ?选课信息后处理模块: 该模块可以完成对学生选课信息的汇总、分析;确定选课是否成功等信息的处理。 ?选修课排课模块: 该模块可以完成对已成功选课的学生进行分班,并依据教室、教师、和学生之间的相互关系输出选课课程表。

数据库实验八综合性实验报告

华南农业大学综合性设计性 实验报告 实验名称:数据库设计 项目性质:综合性设计性实验 所属课程:数据库系统概念 开设时间:2015-2016学年第1学期学生班级: 指导教师: 2015年12月12日

华南农业大学数学与信息学院 综合性、设计性实验成绩单 开设时间:2015-2016学第一学期

一、设计部分 1.需求分析 1.1 用户需求概述 本系统为图书管理系统数据库,该系统开发的主要目的是对大学图书馆的图书信息进行记录统计管理。具体完成录入图书信息,录入借还书记录,录入读者信息等功能。需要完成的主要功能有: 1)学生信息录入 该功能供图书馆管理员使用,学生首次借阅图书前,必须登记并录入个人身份信息,内容包括:学号、姓名、联系电话。 2)图书信息录入 该功能供图书馆管理员使用,对于首次入库的新书,必须录入图书目录资料,内容包括:图书编号、书名、作者、出版社、简介。 3)借书记录录入 该功能供图书馆管理员使用,读者凭校园卡到柜台办理借书手续,由图书馆管理人员录入借书记录,内容包括:日期、学号、图书编号。 对读者借阅图书的限制条件包括: ①读者一次可借阅1-3本图书, ②借出未还的图书,累计不得超出5本; ③没有逾期未归还的图书,从借出之日开始计算,超过90天尚未归还则视为逾期。 4)还书记录录入 该功能供图书馆管理员使用,读者凭校园卡到柜台办理归还借书手续,由图书馆管理人员录入还书记录,内容包括:日期、学号、图书编号。学生可以一次归还1至多册所借阅的图书。 5)图书信息查询 该功能供学生使用,学生自行输入书名、作者、出版社等信息作为查询条件,

系统列出满足查询条件的图书目录。 6)学生信息查询 该功能供图书馆管理人员使用,操作人员输入学生学号,系统列出该学生的个人信息、以及历次的借阅/归还图书记录。 1.2 数据需求

相关文档