数据库实验设计
数据库的设计实验报告

一、实验目的1. 理解数据库设计的概念、过程和步骤。
2. 掌握数据库概念结构、逻辑结构和物理结构的设计方法。
3. 能够运用E-R图进行数据库概念结构设计。
4. 能够运用SQL语句进行数据库逻辑结构和物理结构设计。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库概念结构设计2. 数据库逻辑结构设计3. 数据库物理结构设计四、实验步骤1. 数据库概念结构设计(1)分析需求,确定实体和属性以“图书管理系统”为例,确定实体和属性如下:实体:图书、读者、借阅信息属性:- 图书:书名、作者、出版社、ISBN、出版日期、分类号、库存数量- 读者:读者编号、姓名、性别、出生日期、联系电话、邮箱、住址- 借阅信息:借阅编号、图书编号、读者编号、借阅日期、归还日期、状态(2)绘制E-R图根据实体和属性,绘制E-R图如下:```图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态) ```2. 数据库逻辑结构设计(1)确定关系模式根据E-R图,确定关系模式如下:- 图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)- 读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)- 借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态)(2)编写SQL语句创建表```sqlCREATE TABLE 图书 (书名 VARCHAR(100),作者 VARCHAR(50),出版社 VARCHAR(50),ISBN VARCHAR(20),出版日期 DATE,分类号 VARCHAR(10),库存数量 INT);CREATE TABLE 读者 (读者编号 VARCHAR(10),姓名 VARCHAR(50),性别 CHAR(1),出生日期 DATE,联系电话 VARCHAR(20),邮箱 VARCHAR(50),住址 VARCHAR(100));CREATE TABLE 借阅信息 (借阅编号 VARCHAR(10),图书编号 VARCHAR(10),读者编号 VARCHAR(10),借阅日期 DATE,归还日期 DATE,状态 VARCHAR(10));```3. 数据库物理结构设计(1)确定索引根据需求,确定索引如下:- 图书表:ISBN、分类号- 读者表:读者编号- 借阅信息表:借阅编号、图书编号、读者编号(2)编写SQL语句创建索引```sqlCREATE INDEX idx_isbn ON 图书(ISBN);CREATE INDEX idx_分类号 ON 图书(分类号);CREATE INDEX idx_读者编号 ON 读者(读者编号);CREATE INDEX idx_借阅编号 ON 借阅信息(借阅编号);CREATE INDEX idx_图书编号 ON 借阅信息(图书编号);CREATE INDEX idx_读者编号 ON 借阅信息(读者编号);```五、实验结果与分析1. 通过实验,掌握了数据库设计的概念、过程和步骤。
数据库实训设计报告范文

一、实训背景随着信息技术的飞速发展,数据库技术已经成为现代信息技术中不可或缺的一部分。
为了使学生在实际工作中能够熟练运用数据库技术,提高学生的实践能力和综合素质,本次实训以SQL Server 2000为平台,设计并实现一个学生信息管理系统。
二、实训目的1. 掌握数据库的基本概念、设计方法及实现技术。
2. 熟悉SQL Server 2000数据库的安装、配置及使用。
3. 学会使用SQL语句进行数据查询、插入、更新和删除等操作。
4. 提高学生的团队协作能力和项目管理能力。
三、实训内容1. 数据库需求分析(1)系统功能需求:主要包括学生信息管理、课程信息管理、成绩信息管理、教师信息管理等。
(2)系统性能需求:系统应具备良好的稳定性和可扩展性,能够满足一定数量的用户同时访问。
2. 数据库设计(1)数据模型设计:采用E-R图进行数据模型设计,包括实体、属性和联系。
(2)数据库逻辑设计:根据E-R图设计数据库表结构,包括表名、字段名、数据类型、约束等。
(3)数据库物理设计:根据逻辑设计结果,在SQL Server 2000中创建数据库和表。
3. 数据库实现(1)创建数据库:在SQL Server 2000中创建名为“StudentInfo”的数据库。
(2)创建表:根据数据库逻辑设计,在“StudentInfo”数据库中创建以下表:- 学生信息表(Student):包括学号、姓名、性别、年龄、班级等字段。
- 课程信息表(Course):包括课程编号、课程名称、学分等字段。
- 成绩信息表(Score):包括学号、课程编号、成绩等字段。
- 教师信息表(Teacher):包括教师编号、姓名、性别、职称等字段。
(3)设置约束:为各个表设置主键、外键、唯一约束、非空约束等。
4. 数据库操作(1)数据查询:使用SQL语句进行数据查询,包括简单查询、条件查询、多表查询等。
(2)数据插入、更新和删除:使用SQL语句进行数据插入、更新和删除操作。
数据库实验设计报告

数据库实验设计报告⼀、软件设计性质、⽬的和任务性质:专业必修课⽬的:通过本次软件设计,使学⽣对数据库应⽤开发过程有个全⾯的了解,并得到系统的技能训练,从⽽巩固和加强所学的专业理论知识,培养学⽣的综合运⽤能⼒。
任务:了解SQLserver的安装及使⽤;学会对企业管理器、查询分析器的使⽤;建⽴⼀个学⽣表、课程表及学⽣选课关联表,并进⾏相关的操作;其次,了解Oracle9i的安装及使⽤,学会建⽴表空间、表、模式、视图、索引、同义词等对象;建⽴⼀个学⽣表、课程表及选课关系表,并⽤SQL语句进⾏相关插⼊、查询、删除等操作;第三,设计⼈事管理系统的数据模型;并在SQLserver中建⽴表,并编写代码实现基本的管理系统需求(使⽤⾼级语⾔VB/VC/Java/Delphi 实现)⼆、实验设备硬件:兼容机⼀台软件:SQLServer、Oracle9i数据库;VB、VC、Java、Delphi等⾼级语⾔开发环境:前台开发环境:Microsoft Visual BASIC 6.0后台数据库环境:Microsoft SQL Server 2000实验⼀“学⽣表”“课程表”“学⽣选课表”SQL语句查询CS专业信息系统的平均成绩实验⼆1.编写⾼级语⾔访问数据库的程序(2)(三)图书管理系统前⾔图书馆作为⼀种信息资源的集散地,图书和⽤户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使⽤,甚⾄尚未使⽤计算机进⾏信息管理。
根据调查得知,以前对图书信息管理的主要⽅式是基于⽂本、表格等纸介质的⼿⼯处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采⽤对借书卡的⼈⼯检查进⾏,对借阅者的借阅权限、以及借阅天数等⽤⼈⼯计算、⼿抄进⾏。
数据信息处理⼯作量⼤,容易出错;由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理⼿段。
尽管有的图书馆有计算机,但是尚未⽤于信息管理,没有发挥效⼒,资源闲置⽐较突出,这就是管理信息系统的开发的基本环境。
实验一 数据库设计

实验一数据库设计实验名称:数据库设计实验内容:以所在学校选课和课程管理为实际应用背景,设计一个教学管理数据库。
假设至少包含以下需求:学生信息管理;课程信息管理;教师信息管理;学生选修课程及成绩信息管理;教师负责课程和讲授课程信息管理。
实验目的:通过实践,掌握本章介绍的数据库设计方法。
学会使用PowerDesigner来完成数据库设计过程。
实验方法(或程序源代码):(1)、根据实验内容明确要完成的系统功能。
(2)、运行PowerDesigner创建概念数据模型转换成逻辑数据模型,建立实体、属性和联系。
对关键字、空值、域完整性等做出必要的描述,根据实际情况确定联系的类型。
(3)、将检查无误的概念数据类型转换成逻辑数据模型,并对生成的逻辑数据模型作必要的修改。
(4)、选择一个实际的DBMS软件根据逻辑数据模型生成物理数据模型,并对生成的物理数据模型作必要的修改。
实验数据、结果分析、总结问题:(1)学生选课系统扥E-R图(2)概念数据模型图如下(3)逻辑数据模型图如下(4)物理数据模型图如下(5)系统生成的代码为:if exists(select 1 from sys.sysforeignkey where role='FK_教授课程_RELATIONS_学生') thenalter table 教授课程delete foreign key FK_教授课程_RELATIONS_学生end if;if exists(select 1 from sys.sysforeignkey where role='FK_教授课程_RELATIONS_教师') thenalter table 教授课程delete foreign key FK_教授课程_RELATIONS_教师end if;if exists(select 1 from sys.sysforeignkey where role='FK_负责课程_RELATIONS_课程') thenalter table 负责课程delete foreign key FK_负责课程_RELATIONS_课程end if;if exists(select 1 from sys.sysforeignkey where role='FK_负责课程_RELATIONS_教师') thenalter table 负责课程delete foreign key FK_负责课程_RELATIONS_教师if exists(select 1 from sys.sysforeignkey where role='FK_选修课程_RELATIONS_学生') thenalter table 选修课程delete foreign key FK_选修课程_RELATIONS_学生end if;if exists(select 1 from sys.sysforeignkey where role='FK_选修课程_RELATIONS_课程') thenalter table 选修课程delete foreign key FK_选修课程_RELATIONS_课程end if;if exists(select 1 from sys.systablewhere table_name='学生'and table_type in ('BASE', 'GBL TEMP')) thendrop table 学生end if;if exists(select 1 from sys.systablewhere table_name='教师'and table_type in ('BASE', 'GBL TEMP')) thendrop table 教师end if;if exists(select 1 from sys.systablewhere table_name='教授课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 教授课程end if;if exists(select 1 from sys.systablewhere table_name='课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 课程if exists(select 1 from sys.systablewhere table_name='负责课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 负责课程end if;if exists(select 1 from sys.systablewhere table_name='选修课程'and table_type in ('BASE', 'GBL TEMP')) thendrop table 选修课程end if;create table 学生(学号 char(8) not null, 院系 smallint null,姓名 char(10) null,性别 char(2) null,生源 char(6) null,状态 char(4) null,constraint PK_学生 primary key (学号));create table 教师(教师编号 char(8) not null, 院系 smallint null,姓名 char(10) null,性别 char(2) null,职称 char(6) null,专业 char(10) null,constraint PK_教师 primary key (教师编号));create table 教授课程(教师编号 char(8) not null, 学号 char(8) not null,constraint PK_教授课程 primary key (教师编号, 学号));create table 课程(课程编号 char(8) not null, 课程名称 char(20) null,责任教师 char(8) null,学时 smallint null,课程性质 char(10) null,constraint PK_课程 primary key (课程编号));create table 负责课程(教师编号 char(8) not null, 课程编号 char(8) not null, constraint PK_负责课程 primary key (教师编号, 课程编号));create table 选修课程(课程编号 char(8) not null, 学号 char(8) not null, 成绩 smallint null,constraint PK_选修课程 primary key (课程编号, 学号));alter table 教授课程add constraint FK_教授课程_RELATIONS_学生 foreign key (学号)references 学生 (学号)on update restricton delete restrict;alter table 教授课程add constraint FK_教授课程_RELATIONS_教师 foreign key (教师编号) references 教师 (教师编号)on update restricton delete restrict;alter table 负责课程add constraint FK_负责课程_RELATIONS_课程 foreign key (课程编号) references 课程 (课程编号)on update restricton delete restrict;alter table 负责课程add constraint FK_负责课程_RELATIONS_教师 foreign key (教师编号) references 教师 (教师编号)on update restricton delete restrict;alter table 选修课程add constraint FK_选修课程_RELATIONS_学生 foreign key (学号)references 学生 (学号)on update restricton delete restrict;alter table 选修课程add constraint FK_选修课程_RELATIONS_课程 foreign key (课程编号) references 课程 (课程编号)on update restricton delete restrict;实验数据、结果分析、总结问题:运用PowerDesigner程序添加实体,并建立实体之间的联系。
数据库设计 实验报告

数据库设计实验报告数据库设计实验报告一、引言数据库设计是计算机科学中至关重要的一环,它涉及到数据的组织、存储和管理。
本实验报告旨在介绍数据库设计的基本原理和实践经验,以及本次实验的设计过程和结果。
二、数据库设计原理1. 数据库设计的目标数据库设计的主要目标是满足用户需求,提供高效、可靠、安全的数据存储和访问方式。
设计师需要深入了解用户的需求,并根据需求制定合理的设计方案。
2. 数据库设计过程数据库设计通常包括需求分析、概念设计、逻辑设计和物理设计四个阶段。
需求分析阶段需要明确用户需求和系统功能,概念设计阶段将需求转化为概念模型,逻辑设计阶段将概念模型转化为逻辑模型,物理设计阶段将逻辑模型映射到具体的数据库管理系统。
3. 实体关系模型实体关系模型是数据库设计中常用的概念模型,它通过实体、属性和关系描述现实世界的数据结构。
实体表示现实世界中的对象,属性表示实体的特性,关系表示实体之间的联系。
4. 范式理论范式理论是数据库设计中的重要概念,它描述了数据的结构和依赖关系。
常用的范式包括第一范式(1NF)、第二范式(2NF)和第三范式(3NF)。
设计师需要根据需求和数据特点选择合适的范式,并遵循范式理论进行设计。
三、实验设计过程本次实验的数据库设计目标是创建一个图书管理系统。
根据需求分析,我们确定了以下实体和关系:1. 实体:- 书籍(书名、作者、出版社、出版日期、价格等属性)- 读者(姓名、年龄、性别、联系方式等属性)- 图书馆(名称、地址、管理员等属性)2. 关系:- 借阅关系(读者ID、书籍ID、借阅日期、归还日期等属性)根据实体关系模型和范式理论,我们进行了如下设计过程:1. 概念设计:根据需求分析,我们创建了实体-属性关系图,明确了实体和属性之间的关系。
2. 逻辑设计:根据概念设计的结果,我们将实体关系图转化为关系模式,并进行了范式分析。
通过分析,我们确定了每个关系模式的主键和外键,并消除了冗余和不合理的依赖关系。
数据库实验7 数据库设计实验

实验7 数据库模型的设计与建立1.一、实验目的:2.了解数据库设计概念设计中的基本知识: 如实体、属性、联系集…3.能解决设计中常见问题: 如把一个对象转化成实体还是属性4.使学生能独立完成数据库模式的设计, 包括各表的结构(属性名、类型、约束和关键字等)及表之间的关系以及其连接方式, 在选定的DBMS上建立数据库表。
5.熟悉数据库建模工具的使用(PowerDesigner)二、实验要求:1. 认真阅读业务需求, 作出E-R图, 并依据设计原则对数据库结构的设计务必做到最优化2. 在选定的DBMS上建立数据库, 比较手工输入SQL建立数据库与用建模工具自动生成数据库的优缺点三、实验环境及学时安排:1. OFFICE, POWERDESIGN112.SQL SERVER20003. 学时: 3学时四、实验内容:以完成学生选课系统的数据库设计为例。
如: 某学院有基本实体集: 系、教师、学生和课程。
1.它们各有属性:系: 系编号、系名, 位置课程: 课程号, 课程名称, 开课学期学生: 学生学号, 学生姓名、性别、地址教师:员工号, 教师姓名, 办公室2.有如下语义设定每个系有一位系主任, 有多位教师;一个教师仅在一个系任职;每个系开设多门不同课程;每门课程由多位教师授课;一位教师可教多门课程一个学生可以选修多门课程。
一门课程可以供多位学生选修3.存在联系有:1对1: 系与系主任(系主任是教师)1对多: 系与教师、系与课程多对多: 学生与课程,教师与课程五、实验任务及步骤:1.实验准备1)根据需求建立ER模型:ER模型的组成:实体属性联系连接2)ER模型转换为数据库表●实体转化为表●实体的属性转化为表中的列●多对多联系也转化为表, 主键确定为相联系表中主键的组合, 联系本身的属性转化为表的列一对一、一对多联系无需新建表, 被决定的一方应含有决定方的主键作为外部键3)利用power designer建立所要求的数据库2.实验操作1)新建word文件, 并保存为ER.doc2)分析需求, 画出上述关系的E-R 图(word) 3) 根据ER 模型进行数据库的逻辑结构设计: (建模工具PowerDesign 建立phisical data model) 六、实验结果按照需求绘制E-R 图如下:完整的实体-联系E-R 图如下:建立数据库模型(概念数据模型)如下:n mn mn 111系 教师学生课程系-老师教授选修系主任系编号 系名 位置员工号教师姓名办公室课程号课程名开课学期学号姓名性别地址物理数据模型如下:。
数据库设计实验报告

数据库设计实验报告数据库设计课程实验报告学院:班级:完成⼈:姓名:学号:指导教师:数据库设计实验任务书⼀、课程实验题⽬:图书管理⼆、课程实验应解决的主要问题:(1)分析图书管理设计中包含的实体,实体属性,实体之间的关系(1)对实体中相应的数据项给出详细的数据字典描述(1)以powerDesigher为建模⼯具,对数据库进⾏逻辑设计(1)设计的关系模式需进⾏规范化处理,每个关系模式应能达到3NF(1)设计事务,涉及到检索和更新等(2)绘制事务图,使⽤路径指⽰ER模型⽀持的⽤户事务(3)根据逻辑设计原则(多样性),转化为相应数据表,并标明主键、外键(4)相应事务要求⽤SQL语⾔实现,并⽤到触发器、存储过程,视图等数据操作(5)应⽤⾃⼰熟悉的⾼级程序设计语⾔,实现系统主要功能三、任务发出⽇期:课程实验完成⽇期:指导教师对课程实验的评价成绩:指导教师签字:年⽉⽇⽬录1业务分析 (1)1.1原管理系统分析 (1)1.2所建系统分析 (1)1.3可⾏性分析 (1)1.3.1经济可⾏性分析 (1)1.3.2技术可⾏性分析 (2)1.3.3社会可⾏性分析 (2)2实体描述(属性,关系,参与类型) (2)2.1管理员管理E R图 (2)2.2读者借阅归还E R图 (3)3数据字典说明 (3)4事务设计 (4)4.1管理员模块 (4)4.2读者管理模块 (4)4.3图书信息管理模块 (5)4.4图书类别管理模块 (5)4.5图书借阅归还管理模块 (5)4.6读者留⾔管理模块 (5)5PowerDesigner建模 (5)6事务路径图或事务描述 (6)7映射为对应数据表 (7)7.1管理员数据表 (7)7.2读者数据表 (7)7.3图书数据表 (8)7.4图书类别数据表 (8)7.5借还书记录数据表 (9)7.6⽤户留⾔数据表 (9)8规范化检查和说明 (10)8.1规范化⽅法检查表结构 (10)8.2检查表是否⽀持⽤户事务 (10)8.3检查业务规则 (10)9S Q L操作 (10)9.1创建索引 (10)9.2创建视图 (12)9.3设计触发器 (13)9.4设计存储过程(例:读者注册信息) (14) 10实现界⾯ (15)10.1登录页⾯ (16)10.2管理员界⾯ (16)10.2.1 管理员主页⾯ (16)10.2.2图书类别 (16)10.2.3图书管理 (17)10.2.3.1 添加图书 (17)10.2.3.2 修改、删除图书 (18)10.2.3.3查看图书 (18)10.2.4借阅管理(借阅、归还、续借) (19) 10.2.5在线留⾔管理 (19)10.2.6管理员管理 (20)10.3读者界⾯ (20)10.3.1读者注册 (20)10.3.2读者主页⾯ (21)10.3.3读者分类查询 (38)10.3.4读者借阅图书 (21)10.3.5读者归还图书 (22)10.3.6读者续借图书 (23)11任务分⼯1.业务分析1.1原图书管理系统分析图书馆是获取信息重要途径之⼀,对图书馆的信息化管理将⼤⼤提⾼图书资源的利⽤和信息的交换速度。
数据库实验 数据库设计中南财经政法大学

《数据库及其应用》实验报告实验序号:B0901000-02实验项目名称:数据库设计和创建、表的创建与相关设置学号姓名专业、班实验地点指导教师时间一、实验目的及要求1.熟悉Access中数据库及表的概念。
了解并掌握建立数据库、表和关系的过程。
2.熟悉数据库窗口的界面特点,掌握数据库窗口几种设置方法。
3.理解并掌握关系数据库完整性基本概念。
掌握完整性的设置方法。
4.掌握字段属性的概念和一些属性的用途。
并掌握一些字段属性的设置方法。
5.了解Access数据表视图的一些基本功能。
6.了解在数据表视图中进行操作时的不同特点。
二、实验设备(环境)及要求PC机,Windows XP,Access2003三、实验内容要求(实验操作内容和步骤可写在表格后面)(一)数据库与表的设计与创建1.给定如下数据分析,进行概念设计与逻辑设计。
即设计系统的E-R模型并转换为关系模型。
(数据参见附表)。
某学校设计学生教学管理系统。
学生实体包括学号、姓名、性别、生日、民族、籍贯、简历、登记照,每名学生选择一个主修专业,专业包括专业编号和名称,一个专业属于一个学院,一个学院可以有若干个专业。
学院信息要存储学院号、学院名、院长。
教学管理还要管理课程表和学生成绩。
课程表包括课程号、课程名、学分,每门课程由一个学院开设。
学生选修的每门课程获得一个成绩。
2.数据库结构设计指定数据库文件的名称,并为设计好的关系模型设计表结构。
数据库文件保存在“E:\教学管理\”文件夹中。
3.定义数据库文件定义存放路径,和数据库文件。
写出操作步骤。
可包括必要的截图。
4.定义数据库中各表根据事先设计好的结构,分别定义各表、字段名、字段属性。
重复的步骤可简化。
5.定义表之间的关系当所有表都定义好后,定义各表之间的关系。
6.输入表记录当所有表建立好后,可开始输入记录。
简要说明输入的操作。
(二)Access数据库窗口基本操作1.设置教学管理数据库窗口中表对象列表窗口的显示格式为“详细信息”写出操作步骤。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程:数据库技术实验一建立数据库实验名称:建立数据库实验内容:在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 tese1on(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的文件夹(2)点击新建查询(3)输入如下代码create database test2on primary(name=test2_1,filename='E:\SQL server\test2.mdf',size=5,maxsize=20,filegrowth=5),(name=test2_2,filename='E:\SQL server\test2.ndf',size=5,maxsize=20,filegrowth=5),(name=test2_3,filename='E:\SQL server\test2_1.ndf',size=5,maxsize=20,filegrowth=5)log on(name=test2_1_log,filename='E:\SQL server\test2.ldf',size=5mb,maxsize=20mb,filegrowth=5mb),(name=test2_2_log,filename='E:\SQL server\test2_1.ldf',size=5mb,maxsize=20mb,filegrowth=5mb)1.3(1)分别在E D F盘新建SQL server文件夹并在这三个文件夹分别新建两个名为test3和test3_1的文件夹(2)创建的自定义文件组:test3Group1和test3Group2。
(3)输入如下代码CREATE DATABASE test3ON PRIMARY(NAME= test3_1,FILENAME='F:\SQL server\test3.mdf',SIZE= 10,MAXSIZE= 50,FILEGROWTH= 5 ),(NAME= test3_2,FILENAME='F:\SQL server\test3_1.ndf', SIZE= 10,MAXSIZE= 50,FILEGROWTH= 5 ),FILEGROUP test3Group1(NAME= test3_1Group1,FILENAME='E:\SQL server\test3.ndf',SIZE= 10,MAXSIZE= 50,FILEGROWTH= 5 ),(NAME= test3_2Group1,FILENAME='E:\SQL server\test3_1.ndf', SIZE= 10,MAXSIZE= 50,FILEGROWTH= 5 ),FILEGROUP test3Group2(NAME= test3_1Group2,FILENAME='D:\SQL server\test3.ndf',SIZE= 10,MAXSIZE= 50,FILEGROWTH= 5 ),(NAME= test3_2Group2,FILENAME='D:\SQL server\test3_1.ndf', SIZE= 10,MAXSIZE= 50,FILEGROWTH= 5 )LOG ON(NAME= Sales_log,FILENAME='F:\SQL server\test3.ldf',SIZE= 5MB,MAXSIZE= 25MB,FILEGROWTH= 5MB )2(1)使用add添加(2)输入如下代码ALTER DATABASE tese1ADD FILE(NAME= Tese1_1,FILENAME='D:\SQL server.ndf',SIZE = 5, MAXSIZE = 20, FILEGROWTH = 5)3(1)使用modify 实现(2)输入如下代码alter database test2 modify file (name =test2_1, size =10)4(1)使用drop 实现 (2)输入如下代码drop database tese1实验二 建立表和定义完整性约束 实验名称:建立模式 表和定义完整性约束实验内容:在实验一建立的数据库的基础上,参照下图和下表建立表并定义完整性约束。
图1 订货数据库表1 订货数据库字段和约束说明供应商实验目的:熟练掌握表的建立和数据完整性速描定义方法,实践DBMS提供的数据完整性功能,加深对数据完整性的理解。
实验方法:在实验一建立数据库的基础上用CREATE SCHEMA命令建立模式,用CREATE TABLE 命令建立表并定义数据完整性约束(注意:需要有CREATE SCHEMA和CREATE TABLE的权限,或者其他具有相应权限的身份,有关权限的内容请参见课文5.2节),用ALTER TABLE命令修改表结构。
实验要求:1、用CREATE SCHEMA命令建立模式(自己命名模式名称)。
2、在定义的模式下参照图1和表1使用CREATE TABLE命令建立表并定义完整性约束。
3、使用ALTER TABLE命令按如下要求修改表结构:a)为订购单增加一个新的字段“完成日期”,类型为日期时间型,默认是空值。
b)为订单明细表的“数量”字段重新定义约束:大于0、小于等于1000的正整数,不允许为空值。
c)将供应商表的供应商名字段的类型修改为varchar(30)。
实验步骤:1.建立模式:use test2gocreate schema test22建表(1)仓库表use test2gocreate table仓库(仓库号char(6)primary key check(仓库号like'[A-Z][A-Z][0-9][0-9][0-9][0-9]'collate Chinese_PRC_BIN),城市char(10)unique not null,面积numeric check(面积>='50'))(2)职工表use test2gocreate table职工(仓库号char(6)foreign key references仓库(仓库号)check(仓库号like'[A-Z][A-Z][0-9][0-9][0-9][0-9]'collate Chinese_PRC_BIN),职工号char(8)primary key check(职工号like'[A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9]'collateChinese_PRC_BIN),工资money check(工资between 1000 and 10000)null)(3)供应商表use test2gocreate table供应商(供应商号char(4)primary key check(供应商号like'[S][0-9][0-9][0-9]' collate Chinese_PRC_BIN),供应商名char(16),地址char(30))(4)订购单表use test2gocreate table订购单(职工号char(8)foreign key references职工(职工号)not null,供应商号char(4)foreign key references供应商(供应商号)null,订购单号char(6)primary key check(订购单号like'[O][R][0-9][0-9][0-9][0-9]'collate Chinese_PRC_BIN),订购日期datetime default getdate(),金额money default null)(5)订购单明细表use test2gocreate table订购单明细(订购单号char(6)foreign key references订购单(订购单号),序号char(6)primary key,产品名称char(20),单价money check(单价>'0')default null,数量int check(数量>'0')not null)3.修改(1)为订购单增加一个新的字段“完成日期”,类型为日期时间型,默认是空值use test2goalter table订购单add完成日期datetime default null(2)为订单明细表的“数量”字段重新定义约束:大于0、小于等于1000的正整数,不允许为空值use test2goalter table订购单明细add check(数量between 0 and 1000)(3)将供应商表的供应商名字段的类型修改为varchar(30)use test2goalter table供应商alter column供应商名varchar(30)实验三数据操作和完整性约束的作用实验名称:数据操作笔完整性约束的作用实验内容:在实验二的基础上完成数据的插入操作,然后进行部分修改和删除操作,在这些操作中体会数据完整性约束的作用。