数据库实验六

数据库实验六
数据库实验六

6 综合型实验项目索引和数据完整性

匹配课程代码及名称:070785,数据库应用设计

适用专业及本项目实验学时:计算机科学与技术专升本,6学时

一、实验目的及要求

(1)掌握索引的使用方法;

(2)掌握索引的设计与实现方法。

(3)掌握数据完整性的类型;

(4)掌握数据完整性的实现方法。

二、实验内容

在已建好的YGGL数据库中,设计并创建索引,并进行索引的重建、删除操作。提交程序源代码(电子版,1周内)和实验报告(纸制、1周内)。三、实验条件及设备要求

已安装SQL Server 2008数据库管理系统的实验机。

四、实验相关知识点

数据库实体完整性、索引。

五、实验实施步骤

(一)建立索引

1、对YGGL数据库的Employees表中的DepartmentID列建立索引。

createindex depart_ind

on Employees(DepartmentID)

2、在Employees表的Name列和Address列上建立复合索引。

create index ad_ind on Employees(Name,Address)

3、对Departments表上的DepartmentName列建立唯一非聚集索引。

go

create unique index dep_ind on Departments(DepartmentName) go

(二)重建索引

1、重建表Employees中的所有索引。

alter index all on Employees rebuild

(三)删除索引。

1、使用DROP INDEX语句删除表Employees上的索引Depart_ind。

drop index Depart_ind on Employees

2、使用DROP INDEX一次删除Employees表上的多个索引。

go

drop index Departments.Dep_ind,Employees.Ad_ind

go

(四)数据完整性操作

1、创建一个表Employees5,只含EmployeesID,Name,Sex和Education列。将Name,设为主键,作为列Name的约束。对EmployeesID列进行UNIQUE约束,并作为表的约束。

create table Employees5(

EmployeesID char(6)not null,

Name char(10)not null primary key,

Sex tinyint,

Education char(4),

constraint UK_id unique(EmployeesID)

)

2、删除上题中创建的UNIQUE约束。

alter table Employees5

drop constraint UK_id

3、使用T-SQL命令创建一个新表,使用一个复合列作为主键,作为表的约束,并为其命名。

create table Employees7

(

EmployeeID char(6)not null,

Name char(10)not null,

Education char(4)not null,

Birthday date not null,

Sex bit not null default 1,

WorkYear tinyint null,

Address varchar(40)null,

PhoneNumber char(12)null,

DepartmentID char(3)not null,

primary key (EmployeeID,DepartmentID),

constraint ED_UK unique(EmployeeID,DepartmentID)

)

4、使用语句为表ALTER TABLEEmployees5添加一个新列Address,并为该列定义UNIQUE约束,并了解如何使用图形向导方式删除主键和UNIOQUE约束。

alter table Employees5

add Address varchar(40),

constraint AD_UK unique (Address)

5、创建新表student,只考虑“号码”和“性别”两列,性别只能包含男或女。向该表插入数据,“性别”列插入“男”和“女”以外的字符,查看会发生什么情况。

create table student(

号码char(6)not null,

性别char(2)check(性别='男'or性别='女')

)

6、创建新表Salary2,结构与Salary相同,但Salary2表不可以OutCome列大于Income列。向表中插入数据,查看OUTCOME值比INCOME值大是会有什么情况。

create table Salary2

(EmployeeID char(6)not null,

InCome float not null,

OutCome float not null,

check(InCome>=OutCome)

)

7、创建一个表Employees6,只考虑“学号”和“出生日期”两列,出生日期必须晚于1980年1月1日。

create table Employees6

(

学号char(6)not null,

出生日期date not null check(出生日期>'1980-01-01'),

)

8、对YGGL数据库中的Employees表进行修改,为其增加“DepartmentID”字段的CHECK约束。约束条件为DepartmentID值应大于等于1且小于等于5。测试CHECK约束的有效性。

alter table Employees

add constraint depart check(DepartmentID>=1 and DepartmentID<=5)

9、创建一个表Salary3,要求所有Salary3表上EmployeeID列的值都要出现在Salary表中,利用参照完整性约束实现,要求当删除或修改Salary表上的EmployeeID列时,Salary3表中的EmployeeID值也会随之变化。

create table Salary3

(

EmployeeID char(6)not null primary key,

InCome float not null,

OutCome float(8)not null,

foreign key(EmployeeID)

references Salary(EmployeeID)

on update cascade

on delete cascade

)

六、实验报告要求

1、按照山东女子学院实验报告格式书写。

2、关键部分的内容规范和要求如下:

(一)、实验目的及要求

指导教师给出的实验目的及具体实验要求。

(二)、实验使用的主要设备(含软件系统)

设备:名称、规格型号、数量;

软件:系统、软件名称、版本;

其他实验器材。

(三)、实验操作过程及内容

按照实验步骤写出操作要求,能够实现要求的语句及结果。

(四)、实验结论、问题与建议(含取得的成果)

总结实验过程,记录实验过程中所遇的问题及调试过程、处理方法,简述实验效果,回答实验思考题等。

七、实验成绩评定办法

主要评分点:实验流程、调试过程、解决问题的能力、实验结果、实验效果等。

数据库实验

数据库实验 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

数据库原理实验指导 实验前准备: 请设计一个企业销售管理据库,其中需要保存的信息如下: 员工信息,包括:员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期; 客户信息,包括:客户号,客户名称,客户住址,客户电话、邮政编码; 产品信息,包括:产品编号,产品名称; 员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。 此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期; 要求: (1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型; (2)将ER图转换为关系模型; 实验一 实验名称:数据定义(2课时) 一、实验目的

1、理解数据库模式的概念,通过使用SQL SERVER企业管理器或者My Sql建立数据库和基本表。模式为人事表、客户表、销售表、销售明细表、产品表。熟悉SQL SERVER企业管理器的使用,并将得到的表生成脚本,然后保存。 2、理解上述基本表之间的关系,建立关系表。 3、掌握修改表结构的基本方法 4、掌握索引和视图的创建方法 二、实验环境 MS SQL SERVER或者My Sql。 三、实验内容与步骤 1、建立一个数据库和五张表的表结构。 (1)/*员工人事表employee */ Create datebase sale; create table employee( emp_no char(5) Not null primary key, emp_name char(10) Not null, sex char(1) Not null,

数据库原理实验报告(2)

南京晓庄学院 《数据库原理与应用》 课程实验报告 实验二数据库的创建、管理、备份及还原实验 所在院(系):数学与信息技术学院 班级:11软工转本2 学号: 1130708 11130710 姓名:马琦乔凌杰

1.实验目的 (1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改 数据库的基本方法; (2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。 (3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方 法。 2.实验要求 (1)使用SQL Server Management Studio创建“教学管理”数据库。 (2)使用SQL Server Management Studio修改和删除“教学管理”数据库。 (3)使用Transact-SQL语句创建“教学管理”数据库。 (4)使用Transact-SQL语句修改和删除“教学管理”数据库。 (5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server Management Studio对数据库“教学管理”进行备份和还原。 (6)SQL Server 2005数据库文件的分离与附加。 (7)按要求完成实验报告 3.实验步骤、结果和总结实验步骤/结果 (1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。 新建数据库如下图所示: 进入sql server management studio 主界面,选择数据库右击新建数据库。 如何修改数据库 进入sql server management studio 主界面,选择数据库右击属性即可看到数据库信息,可更改数据库基本信息。

数据库实验1-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

数据库原理实验报告

数据库原理 实验报告 系别电子信息系 专业计算机科学与技术班级学号4080522 姓名龚敏 指导教师李爱英

一.概要设计 1.教学数据库各表的关系模式:(加下线的属性为主键) 学生 (学号,姓名,性别, 出生日期,所在系) 英文缩写对照:student(s_no,s_name,s_sex,s_age,s_birthday,s_department) 课程 (课程号,课程名,学分) 英文缩写对照:course(c_no,c_name,c_score) 教师 (职工号,姓名,性别,职称) 英文缩写对照:teacher(t_no,t_name,t_sex,t_duty) 选课 (学号,课程号,成绩) 英文缩写对照:choice(s_no,c_no,score) 讲授 (职工号,课程号) 英文缩写对照:teaching(t_no,c_no) 2.教学数据库E-R 图: 实体:课程,学生,选课 联系:选课(学生同课程之间多对多的联系m:n),讲授(教师同课程之间多对多的联系m:n)。 二.逻辑设计 代码: use master go create database stu go use stu go n m m n 课程 教师 讲授 选课 学号 姓名 性别 出生日期 成绩 职工号 姓名 性别 职称 学分 课程号 课程名 学生

create table student (s_no char(8) not null primary key, s_name char(8) not null , s_sex varchar(8) not null, s_birthday smalldatetime not null, s_department varchar(13) not null) drop table student use stu go create table teacher (t_no char(8) not null primary key, t_name char(8) not null, t_sex varchar(8) not null, t_duty char(8) not null) create table course (c_no char(8) not null primary key, c_name char(8) not null, c_score varchar not null) create table choice( s_no char(8) not null primary key, c_no char(8) not null primary key, score varchar not null) create table teaching( t_no char(8) not null primary key, c_no char(8) not null primary key) insert student values('101','袁敏','女','1982-2-3','机电') insert student values('102','李志强','男','1983-4-5','计算机') insert student values('103','张亮','男','1984-10-9','建筑') insert student values('104','李平','女','1984-5-6','计算机') insert student values('105','王丽','女','1983-2-1','机电') insert student values('106','刘明耀','男','1982-4-16','计算机') select* from student insert course values('1011','C语言','6') insert course values('1012','数据结构','4') insert course values('1013','微机原理','6') insert course values('1014','数字电路','5') insert course values('1015','高等数学','6') select* from course insert teacher values('0511','张大维','男','副教授') insert teacher values('0512','林楠','女','讲师') insert teacher values('0513','韩晓颖','女','副教授') insert teacher values('0514','李辉','男','讲师') insert teacher values('0515','孙丽','女','助教') select* from teacher insert choice values('101','1011','82.5') insert choice values('101','1012','79') insert choice values('102','1012','92.5') insert choice

数据库原理实验报告(2)资料

南京晓庄学院 《数据库原理与应用》课程实验报告 实验二数据库的创建、管理、备份及还原实验 所在院(系):信息工程学院 班级: 13软件工程转本1班 学号:13131151 姓名:薛伟

1.实验目的 (1)掌握分别使用SQL Server Management Studio图形界面和Transact-SQL语句创建和修改 数据库的基本方法; (2)学习使用SQL Server查询分析窗口接收Transact-SQL语句和进行结果分析。 (3)了解SQL Server的数据库备份和恢复机制,掌握SQL Server中数据库备份与还原的方 法。 2.实验要求 (1)使用SQL Server Management Studio创建“教学管理”数据库。 (2)使用SQL Server Management Studio修改和删除“教学管理”数据库。 (3)使用Transact-SQL语句创建“教学管理”数据库。 (4)使用Transact-SQL语句修改和删除“教学管理”数据库。 (5)使用SQL Server Management Studio创建“备份设备”;使用SQL Server Management Studio对数据库“教学管理”进行备份和还原。 (6)SQL Server 2005数据库文件的分离与附加。 (7)按要求完成实验报告 3.实验步骤、结果和总结实验步骤/结果 (1) 总结使用SQL Server Management Studio创建、修改和册除“TM”(教学管理)数据库的过程。 利用Microsoft SQL Server Management Studio创建数据库的示例方法如下: 一、打开安装好的Microsoft SQL Server Management Studio,在对象资源管理器里找到【数 据库】--右键【新建数据库】,到下图界面: 1、在数据库名称处输入要创建数据库的名称。 2、表格中的两个路径分别为: 2.1 上为数据库存放物理地址。 2.2 下为数据库日志存放物理地址。 3、初始大小图片中显示的为默认的值,可以根据自己的需求进行修改大小,要修改大小【点击大小值表格】会出现编辑状态文本框。

数据库技术实验六

实验目的: 1. 掌握存储过程的使用方法; 2. 掌握触发器的实现方法; rjM_K.IGG...o.hpl 叮碍 SUUieryJ.E . itir 血 Ecus ton ardurji 5ex V.'crtYMr ⑷崔 加础ur 怙 Wil True 中憎 0帧 Tnz 3 SJ21121 1

(2)创建存储过程,根据每个员工的学历将收入提高500元 alter proc SA_IN @enuchar(6) as begin update Salary set InCome=InCome+500 from Salary,Employees where Employees.EmployeeID =Salary.EmployeeID and Education=@enu end select In Come from Salary,Employees where Salary.EmployeeID = Employees.EmployeeID and Education ='本科' go execdbo.sa_ in'本科' go select In Come from Salary,Employees where Salary.EmployeeID = Employees.EmployeeID and Educati0门=本科' select In Come from Salary,Employees where Salary.EmployeeID =Employees.EmployeeID ■I■ ■ ■ H 1 20B 2 ; 4 52A&7D1 34&D7 3031.55 inCcwii* 1;2532 2 3293701 4羽曲才 号3521 (3)创建存储过程,使用游标计算本科及以上学历的员工在总员工数中的比例。declare @edu varchar ( 10), @part_cou nt int 5 @all_cou nt int J declare mycursor cursor for select disti net educati on , COUNT( education ) over ( partition by education ) as part_cou nt , COUNT( education ) over () as all count and Educati0门=本科

数据库原理实验报告分析

2013级数据库原理实验报告 专业:_______计算机___ 班级:________________ 学号:______________ 姓名:_______________ 2015年5月

实验一 SQL Server 2005基本操作 一、实验目的 了解SQL Server 2005组件; 了解SQL Server数据库组成; 掌握SQL Server 2005界面基本操作。 二、实验内容 (1)开始->程序->Microsoft SQL Server 2005-> SQL Server Management Studio,打开后进入到SQL Server 2005主体界面 (2)点击?数据库?前面的?+?,可以展开查看数据库,并且可以继续展开下级目录,查看数据库中的表、视图等。 (3)了解SQL Server 2005菜单栏的一些主要工具的使用。 (4)学生动手操作SQL Server 2005,打开数据库,打开表,打开查询界面;查看数据库的属性、表的属性等。 三、实验总结 进行这次实验有遇到什么问题?怎么解决的? 答:此次实验我们一步一步按照实验内容操作的,基本上没有遇到问题。

实验二数据定义 一、实验目的 掌握SQL Server 2005的数据库创建; 掌握SQL Server数据定义语言; 掌握SQL Server 2005数据定义的SQL语言定义与管理器定义两种方式。 二、实验内容 (1)创建、修改、删除数据库。 创建要求:数据库Employee中包含一个数据库文件Empdat1.mdf和一个日志文件Emplog.ldf。其中,数据文件大小为10MB,最大为50MB,以5MB速度增长;日志文件大小为5MB,最大为25MB,以5%速度增长。 修改要求:增加第二个数据库文件Empdat2.ndf,其中,数据文件大小为5MB,最 大为25MB,以2MB速度增长。 (2)利用SQL创建人员表person、月薪表salary及部门表dept。 见上页图 要求:按表2-1、表2-2及表2-3中的字段说明创建。

2016数据库原理实验指导书

信息工程学院 数据库原理实验指导书二零一六年五月

目录 实验一SQL SERVER 2005的安装与启动 (1) 实验二数据库的操作 (11) 实验三SQL SERVER2005查询编辑器 (23) 实验四SQL语言的DDL (31) 实验五SQL语言的DML初步 (34) 实验六DML的数据查询 (36) 实验七数据库综合设计 (40)

实验一SQL Server 2005的安装与启动 一、实验目的 SQL Server 2005是Mircosoft公司推出的关系型网络数据库管理系统,是一个逐步成长起来的大型数据库管理系统。 本次实验了解SQL Server 2005的安装过程,了解SQL Server 2005的启动,熟悉SQL Server 2005软件环境。学会安装SQL Server 2005。 二、实验内容 1.安装SQL Server 2005 (1)将SQL Server 2005(中文开发版)安装盘插入光驱后,SQL Server 2005安装盘将自动启动安装程序;或手动执行光盘根 目录下的Autorun.exe文件,这两种方法都可进行SQL Server 2005的安装。出现如下画面。 (2)选中“运行SQL Server Client 安装向导”进行安装,弹出【最终用户许可协议】界面。

(3)选中【我接受许可条款和条件】选项,单击【下一步】按钮,进入【安装必备组件】界面。 (4)组件安装完成后,单击【下一步】按钮,进入【欢迎使用Microsoft SQL Server 安装向导】界面。

(5)单击【下一步】按钮,进入【系统配置检查】界面。检查完毕将显示检查结果。 (6)检查如果没有错误,单击【下一步】按钮,进入【注册信息】界面。

数据库实验六

数据库上机实验六 实验名称:视图的建立与使用(续)和数据库的安全性控制 一、实验目的 1.加深掌握视图的定义与工作原理。 2.理解SQL SERVER 2000登录账户、数据库用户、角色、权限的概念及管理方法。 二、实验内容与步骤 1.对视图的操作 (1)创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。 create view cus_SH as select cust_id, cust_name, addr from customer where addr = '上海' (2)删除题1建立的视图中所有姓“王”的客户数据。 delete from cus_SH where cust_name like '王%' (3)对题(1)建立的视图添加一条记录数据(注意:分别查看customer表和该视图的结果)。 insert into cus_SH values ('10010','叶秀玲','武汉') /* 无法将 NULL 值插入列 'tel_no',表 'Sale_Manage.dbo.customer';该列不允许空值。 INSERT 失败。 语句已终止。 */

(4)通过题(1)建立的视图修改表内某一客户的姓名。 update cus_SH set cust_name = '王子' where cust_name = '王' (5)有两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额。 create view emp_sale as select emp_no, emp_name, order_no, tot_amt from employee, sales where emp_no = sale_id (6)给题(5)建立的视图添加一条记录数据。 insert into emp_sale values ('E1000', '肖萧', '1009', '900.00') --视图或函数 'emp_sale' 不可更新,因为修改会影响多个基表。 (7)将题(5)建立的视图中订单号为1001的记录的销售总金额改为60000。 update emp_sale set tot_amt = 60000 where order_no = '1001' (8)删除题5建立的视图。 drop view emp_sale; 2.数据库的安全性控制

数据库原理实验一-数据库和表的创建与管理

《数据库原理》实验报告 题目:实验一 数据库和表的创建与管理学号姓名班级日期 2016.10.15 一.实验内容、步骤以及结果 1.利用图形用户界面创建,备份,删除和还原数据库和数据表 (1)创建SPJ数据库,初始大小为10MB,最大为50MB,数据库自动增长,增长 方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB 增长。数据库的逻辑文件名和物理文件名均采用默认值。 (2)在SPJ数据库中创建如图2.1-图2.4的四张表

(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。(提示: 最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)

(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为 mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。 (5) 删除已经创建的工程项目表(J表)。 (6) 删除SPJ数据库。(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在) (7) 利用备份过的bak备份文件还原刚才删除的SPJ数据库。(还原数据库) (8) 利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。(附加) (9) 将SPJ数据库的文件大小修改为100MB。

(10) 修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。 2. 利用SQL语言创建和删除数据库和数据表 (1) 用SQL语句创建如图2.5-图2.7要求的数据库Student,初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文件名,日志文件名请自定义。

实验六 访问数据库

实验六访问数据库 一、实验目的 1、熟悉通过嵌入式SQL(主语言为C++语言)编程访问数据库,及掌握游 标的使用方法 2、熟悉通过ODBC接口访问异构数据库并对异构数据库进行操作 3、学会配置ODBC数据源 4、学会各种数据库的访问方法 二、实验要求 1、编写一个嵌入式C++程序,实现对SQL Server2005数据库中的“学生课 程数据库”的Student表中的年龄进行更新,即系统每输出一个学生记录,询问用户是否更新。如果要更新,就输入新的年龄。要求:提交源程序并标识必要的注释。 答:create table provider ( Sno char(5)primary key, Sname char(20)not null, Ssex char(4), Sage int ); insert into provider values('S1','李刚',’男’,20); insert into provider values('S2','李红',’男’,21); insert into provider values('S3','李飞',’男’,25); insert into provider values('S4','李春',’男’,21); #include #include #include #include #include #include #include #include EXEC SQL BEGIN DECLARE SECTION; char deptname[20]; char HSno[9]; char HSname[20]; char HSsex[2]; int HSage; int NEWAGE;

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

实验报告 学院:计信学院专业:网络工程班级:091 姓名学号实验组实验时间2012-6-1 指导教师成绩实验项目名称实验六:数据库系统设计实 验目的 要求掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。 实 验 要 求 本实验属于设计型实验,通过实验,加强对课堂讲授知识的理解。 实验原理 必须按照数据库设计的四个阶段进行:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。概念模型设计时采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法;概念模型必须用E-R图进行表示。在逻辑设计阶段,将E-R图转换成关系模式,然后进行关系模式的规范化。在物理设计阶段,将关系模式转化成SQL Server中的具体的数据库表,并建立表间的关系,表的索引,及相关的约束。 实 验仪器(1)硬件条件:个人计算机。 (2)软件条件:Windows 2000NT Server; MS SQL Server 2000。 实验步骤1、完成系统需求分析报告 在系统需求分析报告中包括采用的设计方法、数据流图和数据字典。 2、完成数据库信息要求和关系数据模型设计 使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行

详细描述。详细描述系统需要的基本表及属性、视图和索引,对基本表的主码、候选码、外码及被参照表进行说明,对基本表中数据的约束条件进行说明。 3、完成数据库的操作和应用要求报告 在数据库的操作和应用要求报告中,详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能模块图。 4、在机器上完成整个数据库的设计。 实 验内容 要求根据周围的实际情况,自选一个自己熟悉的小型数据库应用项目,并深入到应用项目的现实世界中,进行系统分析和数据库设计。例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。 实验数据我设计的是车站售票管理系统,主要用于车站日常的票务处理。 一、需求分析 车站售票管理系统 员工 管理 模块 汽车 管理 模块 线路 管理 模块 车票 管理 模块 票务 信息 管理 模块 员 工 信 息 添 加 员 工 信 息 删 除 员 工 信 息 修 改 汽 车 信 息 添 加 汽 车 信 息 修 改 汽 车 信 息 删 除 线 路 信 息 添 加 线 路 信 息 修 改 线 路 信 息 删 除 添 加 车 票 删 除 车 票 查 询 车 票 信 息 购 买 / 预 订 车 票员 工 信 息 查 询 汽 车 信 息 查 询 线 路 信 息 查 询 车 票 信 息 查 询 功能模块图 1.员工管理模块: 员工有两种身份,售票员和系统管理员。系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。 2.线路信息管理模块:

数据库实验报告六_存储过程

HUNAN UNIVERSITY 数据库 实验报告 学生姓名 学生学号 专业班级 指导老师 2017 年5月24日

SELECT COUNT(*)INTO more90 FROM sc WHERE cno = countcno AND grade >= 90; /*将结果存入新表sumScore中*/ create table sumScore( scorestage char(10), number smallint); insert into sumScore values('x<60', less60); insert into sumScore values('60<=x<70', b60a70); insert into sumScore values('70<=x<80', b70a80); insert into sumScore values('80<=x<90', b80a90); insert into sumScore values('x>=90', more90); END$$ call sumScore(); /*调用上述存储过程*/ 首先创建存储过程,然后再调用存储过程。结果如下: (上述结果图截自Navicat软件) 可以看到,在stuinfo中新建了一个基本表sumscore,表中内容是数学课程成绩的各分数段的人数。 2、统计任意一门课的平均成绩。 代码如下: DELIMITER $$ CREATE PROCEDURE `scoreAvg`() BEGIN declare curname char(40) default null; /*临时存放课程名*/ declare curcno char(4) default null; /*临时存放课程号*/ declare curavg float; /*临时存放平均成绩*/ declare mycursor cursor for /*定义游标*/ select cno, cname from course;

数据库原理实验一

电子信息工程学系实验报告 课程名称: 《数据库原理》 实验项目名称:表的创建和管理 实验时间: 班级: 姓名: 学号: 实 验 目 的: (1)了解SQL Server 的基本数据类型。 (2)学会在企业管理器中创建数据库及表。 (3)学会使用T-SQL 语句创建数据库及表。 (4)学会在企业管理器中修改表的定义。 (5)学会使用SQL 语句修改表的定义 实 验 环 境: winXP +Sql server 2000 实 验 内 容 及 过 程: (1)用企业管理器,建立的数据库SCHOOL ,建立如书本75页的P,S,J,SPJ 四张表,并添加数据。 (2)用企业管理器删除所建立的SPJ 和J 两张表。 (3)在查询分析器中用sql 语句删除表S 和表P,S ,删除数据库SPJ 。 (4)在查询分析器中用sql 语句创建数据库SPJ ,用SQL 语句创建各书本75页的P,S,J,SPJ 四张表,用insert 命令分别向四张表里面添加如75页所示的数据。 (5)将以上用到的SQL 命令以 “实验一.SQL ”文件的形式保存。 (6)用企业管理器备份数据库SPJ 到备份文件SPJ.bak 。 实 验 结 果 及 分 析: (1)

(2) (3) DROP TABLE P; DROP TABLE S; DROP DA TABASE SPJ; (5)

实验心得: 附录: CREATE DATABASE SPJ ON ( NAME=pSPJ, FILENAME='H:\SQL\MSSQLDATA\mydb.mdf',SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=1 MB ) LOG ON ( NAME=logSPJ, FILENAME='H:\SQL\MSSQLDATA\mydb.ldf',SIZE=100MB,MAXSIZE=1000MB,FILEGROWTH= 10MB ) go use SPJ CREATE TABLE S( Sno CHAR(2) NOT NULL, --供应商代码不能为空 Sname V ARCHAR(20), Status int , City V ARCHAR(20) , CONSTRAINT S_pk PRIMARY KEY(Sno) --应商代码为主键 ); CREATE TABLE P( Pno CHAR(2) NOT NULL, --零件代码不能为空

云南大学-实验六-数据库完整性报告

云南大学软件学院 实验报告 课程:数据库原理与实用技术实验任课教师:刘宇、张璇 姓名:学号:专业:信息安全成绩: 实验6 数据库完整性 实验6-1 完整性约束 1、创建规则(用图形或者语句方法创建) (1)创建入学日期规则“Enter_University_date_rule”,假定该学校于1923年4月30日创建。要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期 测试: (2)创建学生年龄规则“Age_rule”。要求:学生年龄必须在15~30岁之间

测试: (3)创建学生性别规则“Sex_rule”。要求:性别只能为“男”或“女” 测试:

(4)创建学生成绩规则“Score_rule”。要求:学生成绩只能在0~100之间 (5)用图形方法查看学生成绩规则“Score_rule”,截图为: 双击:成绩: (6)用语句方法查看学生成绩规则“Score_rule”,语句为:

2、删除规则Enter_University_date_rule 3、创建默认(用图形或者语句方法创建) (1)创建默认时间“Time_default”为当前系统时间 (2)创建默认入学年龄“Age_default”为18岁 (3)用图形方法查看默认入学年龄“Age_default”,截图为:

(4)用语句方法查看默认入学年龄“Age_default”,语句为: 4、删除默认入学年龄“Age_default” 5、创建声明式默认:在创建表的过程中创建声明式默认 (1)创建表“default_example”,表中包含字段pid、name、sex、age。要求设定sex的默认值为“男”、age的默认值为18。 编号姓名性别年龄 101 苏晴女 201 马拯山20 执行结果为: 输入数据:

数据库实验六

6 综合型实验项目索引和数据完整性 匹配课程代码及名称:070785,数据库应用设计 适用专业及本项目实验学时:计算机科学与技术专升本,6学时 一、实验目的及要求 (1)掌握索引的使用方法; (2)掌握索引的设计与实现方法。 (3)掌握数据完整性的类型; (4)掌握数据完整性的实现方法。 二、实验内容 在已建好的YGGL数据库中,设计并创建索引,并进行索引的重建、删除操作。提交程序源代码(电子版,1周内)和实验报告(纸制、1周内)。三、实验条件及设备要求 已安装SQL Server 2008数据库管理系统的实验机。 四、实验相关知识点 数据库实体完整性、索引。 五、实验实施步骤 (一)建立索引 1、对YGGL数据库的Employees表中的DepartmentID列建立索引。 createindex depart_ind on Employees(DepartmentID)

2、在Employees表的Name列和Address列上建立复合索引。 create index ad_ind on Employees(Name,Address) 3、对Departments表上的DepartmentName列建立唯一非聚集索引。 go create unique index dep_ind on Departments(DepartmentName) go (二)重建索引 1、重建表Employees中的所有索引。 alter index all on Employees rebuild

(三)删除索引。 1、使用DROP INDEX语句删除表Employees上的索引Depart_ind。 drop index Depart_ind on Employees 2、使用DROP INDEX一次删除Employees表上的多个索引。 go drop index Departments.Dep_ind,Employees.Ad_ind go (四)数据完整性操作 1、创建一个表Employees5,只含EmployeesID,Name,Sex和Education列。将Name,设为主键,作为列Name的约束。对EmployeesID列进行UNIQUE约束,并作为表的约束。 create table Employees5( EmployeesID char(6)not null, Name char(10)not null primary key, Sex tinyint,

6实验六-数据库完整性

实验报告书 课程名《数据库原理与应用A 》题目:数据库完整性 班级: 学号: 姓名:

1、实验内容或题目 数据库完整性 2、实验目的与要求 (1)掌握sql server 2005 数据库完整性的机理,理解并掌握约束。 (2)进行实验操作。 3、实验步骤与源程序 ⑴实验步骤 掌握Sql server 2005基本语句的使用,主要是PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE 约束、CHECK约束、NOT NULL。 练习Sql server 2005基本语句的使用。 完成实验报告。 ⑵编写源代码 SQLQuery1(例13.1,在test数据库中创建department表,其中指定dno为主键): use test go create table department ( dno int primary key, dname char(20), ) go SQLQuery2(例13.2,使用FOREIGN KEY子句进行相关操作): use test go create table worker (no int primary key, name char(8), sex char(2), dno int foreign key references department(dno) on delete no action, address char(30) )

go SQLQuery3(例13.3,在test数据库中创建table5表,其中指定c1列不能包含重复的值): use test go create table table5 ( c1 int unique, c2 int ) go insert table5 values(1,100) go /*插入下一行,则会出现错误消息*/ insert table5 values(1,200) SQLQuery4(例13.4,在test数据库中创建table6表,其中使用CHECK约束限定f2列为0-100分): use test go create table table6 ( f1 int, f2 int not null check(f2>=0 and f2<=100) ) go /*插入下一行,则会出现错误消息*/ insert table6 values(1,120) SQLQuery5(例13.5,在test数据库中创建table7表,其主键为c1和c2,将其中插入两个记录,输出这些记录): use test go create table table7 ( c1 int, c2 int, c3 char(5), c4 char(10), constraint c1 primary key(c1,c2) ) go use test insert table7 values(1,2,'ABC1','XYZ1') insert table7 values(1,2,'ABC2','XYZ2') go select*from table7 go

[vip专享]《数据库原理》实验3——有大部分答案

实验三:使用SQL Server管理数据表 一、实验目的 1.熟悉数据表的特点; 2.熟悉在Management Stuio中创建、编辑及删除数据表; 3.熟悉使用T-SQL创建、编辑及删除数据表; 二、实验环境 已安装SQL Server 2000 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1.了解表的结构特点; 2.了解SQL Server的基本数据类型; 3.熟悉使用T-SQL语法; 4.完成实验报告。 五、实验内容 请分别使用Management Stuio及T-SQL完成以下内容: 1、请在指定数据库内完成以下内容: 1)依据数据表的结构创建相对应的数据表,表结构如下所示; 学生信息表(student) 课程信息表(course) 选课信息表(sc)

use studentcourse /*假设已经存在stu cou数据库*/ go create table student (Sno char(9) Constraint stu_pri primary key, Sname char(6) Not Null, Ssex char(2) Null, Sage int NUll, Sdept VarChar(8) Null) go create table course (Cno char(4) Constraint c_pri primary key, Cname VarChar(20) Not Null, Cpno Char(4) Null, Ccredit int Null) go create table sc (Sno char(9) Not null, Cno char(4) Not Null, Grade int Null Constraint sc_pri primary key(Sno,Cno)) 在表student中增加新字段 “班级名称(sclass)“;use studentcourse /*假设已经存在stu cou数据库*/ go alter table student add sclass char(10) NUll 2)在表student中删除字段“班级名称(sclass)”;use studentcourse /*假设已经存在stu cou数据库*/ go alter table student

相关文档
最新文档