实验2-1、基本表的创建与约束机制

合集下载

实验1数据库定义实验 一 实验内容 1、数据库的创建、修改和删除 2、基本表的定义

实验1数据库定义实验 一 实验内容 1、数据库的创建、修改和删除 2、基本表的定义

实验1数据库定义实验一实验内容1、数据库的创建、修改
和删除2、基本表的定义
一、实验内容
1. 数据库的创建、修改和删除
- 创建名为`TestDB` 的数据库
```sql
CREATE DATABASE TestDB;
```
- 修改数据库的属性,例如增加日志文件大小
```sql
ALTER DATABASE TestDB
MODIFY FILE (NAME = TestDB_Log, SIZE = 50MB);
```
- 删除数据库
```sql
DROP DATABASE TestDB;
```
2. 基本表的定义
- 创建名为`Employees` 的表,包含员工编号(`ID`)、姓
名(`Name`)和工资(`Salary`)列
```sql
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Salary DECIMAL(10, 2)
);
```
- 修改表结构,添加部门(`Department`)列
```sql
ALTER TABLE Employees
ADD Department VARCHAR(50);
```
- 删除表
```sql
DROP TABLE Employees;
```
二、总结
通过这个实验,你应该学会了如何使用SQL 语句创建、修改和删除数据库,以及定义基本表的结构。

数据库系统概论实验指导(第七版)

数据库系统概论实验指导(第七版)

数据库系统概论实验指导(第七版)计算机学院2013/09改版履历目录目录 (3)1.实验概要 (4)1.1.实验说明 (4)1.2.实验环境和配置 (4)1.3.上机要求 (5)2.实验1:数据库/表的基本操作和表级约束 (5)2.1.目的和要求 (5)2.2.实验准备 (5)2.3.实验内容 (5)3.实验2:库级约束和基本表的数据操作 (8)3.1.目的和要求 (8)3.2.实验准备 (8)3.3.实验内容 (8)4.实验3:视图操作和安全性控制 (10)4.1.目的和要求 (10)4.2.实验准备 (10)4.3.实验内容 (10)5.实验4:存储过程/触发器/ODBC数据库编程 (12)5.1.目的与要求 (12)5.2.实验准备 (12)5.3.实验内容 (12)6.实验5:数据库综合实验 (14)6.1.目的与要求 (14)6.2.实验准备 (14)6.3.实验内容 (15)5.3.1.题目一:零件交易中心管理系统 (15)5.3.2.题目二:图书管理系统 (15)5.3.3.题目三:民航订票管理系统 (15)5.3.4.题目四:学生学籍管理系统 (16)5.3.5.题目五:车站售票管理系统 (16)5.3.6.题目六:企业人事管理系统 (16)5.3.7.题目七:电话交费管理系统 (16)5.3.8.题目八:医药销售管理系统 (17)7.附录:实验报告格式 (18)1.实验概要1.1.实验说明内容:本课程实验分5次完成,每次完成一部分。

具体内容参考本指导的后半部分。

成绩:每次实验100分,最后取5次实验的加权平均分作为实验的总成绩,其中第五次实验占40%,其余各次占15%。

每次实验中各个环节的评分标准如下:上述每一项按照百分制给出分值,最后按照比率计算每次实验的最终成绩。

实验报告每次实验需提交电子版的实验报告(最后一次实验需提交设计文档,源程序等相关资料)。

每次实验结束时,将写好的实验报告,提交给各班辅导老师。

实验2-2、基本表的创建与约束机制

实验2-2、基本表的创建与约束机制

实验二基本表的创建与约束机制1、约束的类别Primary key 主键约束Foreign key 外键约束Unique 唯一值约束Default 默认值约束Check 检查约束2、约束的创建方式举例(请按要求完成以下实验任务)创建方式有两种,一种是SQL,一种是SSMS,所有操作请在以自己姓名命名的数据库下进行,并及时刷新对象资源管理器查阅执行结果。

代码按照“实验须知”中要求的命名方式存储在.sql文件中。

注:遇到问题时可查阅实验2-1和2-2文档中的示例。

创建以“自己姓名_library”为名的数据库,并在此数据库中创建“图书”、“出版社”、“学生”以及“借阅”四张表(不指定创建方式,自由选择)。

表结构如下“出版社”表结构“借阅”表结构T-sql语句实现约束(实践部分)完成以下实验要求,并在实验报告上认真如实记录实验数据。

(第二次要求写成报告的实验)1、利用T-SQL语句在library数据库中做出以下修改。

(1)利用T-SQL语句在“学生”表中增加列“民族”,数据类型为varchar(6),默认值为“汉”。

(2)在“学生”表中修改列“姓名”,数据类型为char(20)。

(3)在“借阅”表中增加列“到期日期”,数据类型为datetime。

说明,datetime为日期型。

2、利用T-SQL语句在library数据库中添加以下约束:(自行验证约束是否设置成功)(1)为“学生”表定义主键列,主键列为“学号”。

(2)在“借阅”表中添加一默认约束default,借书日期默认值为getdate()。

(3)为“借阅”表的“学号”列设置foreign key约束,“学号”列外键约束于“学生”表中的“学号”列。

(4)为“学生”表中“学号”列设置check约束,要求输入的学号是必须数字形式。

说明:以上各约束名可自定义。

原则知名达意。

3、利用t-sql语句在library数据库中做以下数据操作:(1)在“学生”表中插入一条记录,记录信息为(“08010110”,“张敏”,“女”,“计算机系”)。

建立表和定义完整性约束、数据操作 实验报告模板

建立表和定义完整性约束、数据操作 实验报告模板

经济管理学院财务管理专业协作者______________ 教师评定_____________实验题目建立表和定义完整性约束、数据操作一、实验目的与实验方法本实验课程的目的:本实验课程的实验方法:二、实验要求1.用CREATE DATABSE命令建立数据库2.用CREATE SCHEMA命令创建模式(自己命名模式名称)3.在定义的模式下,参照教材内容,使用SQL语言创建教材P43—P44面的样本数据库及定义完整性约束4.使用Insert命令完成记录的插入操作,要求分别设计若干违反实体完整性、参照完整性和用户自定义完整性的插入操作,并分析原因。

三、实验结果和数据1.用CREATE DATABSE命令建立数据库2.用CREATE SCHEMA命令创建模式(自己命名模式名称)3.在定义的模式下,参照教材内容,使用SQL语言创建教材P43—P44面的样本数据库及定义完整性约束4.使用Insert命令完成记录的插入操作,要求分别设计若干违反实体完整性、参照完整性和用户自定义完整性的插入操作,并分析原因。

违反实体完整性:违反参照完整性:在执行插入操作时,系统会自动计算院系系列值是7,而院系列参照院系表的编号值,此时在院系表中找不到编号为7的院系。

所以插入操作失败。

违反用户自定义完整性:结果是违反了unique约束,因为院系表名称不允许重复,而名称为“经济管理学院”的院系已经存在,所以不成功。

四、问题与讨论在创建的过程中没有注意括号是用英文括号还是中文括号,所以出现了错误。

应该使用英文括号的。

在同一个数据库中是不能同时创建两个相同的对象的。

心得体会:数据库是一门很难学的课程,而且,我在平时比较少关注这方面的东西,所以,我在做这个实验的时候就觉得十分的困难。

很多的时候我都需要别人的帮助。

我是一个比较粗心的人,因此,我在做这个实验的时候没有留意输入的时候要用英文符号,要加空格。

所以,我总是出现错误,让我觉得很烦恼。

数据库原理及应用实验教案

数据库原理及应用实验教案

数据库原理及应用实验教案一、实验目的1. 理解数据库的基本概念,掌握数据库的基本操作。

2. 熟悉数据库管理系统,了解数据库设计原则。

3. 学会使用SQL语言进行数据的增、删、改、查等操作。

4. 掌握数据库的索引、视图和存储过程等高级功能。

5. 培养实际操作数据库的能力,提高解决实际问题的技能。

二、实验内容1. 数据库的创建与管理创建新数据库打开现有数据库数据库的备份与恢复2. 表的创建与管理表的创建表结构的修改表的删除表的数据插入、删除和修改3. SQL语言基础数据定义语句(CREATE、ALTER、DROP)数据查询语句(SELECT)数据操纵语句(INSERT、UPDATE、DELETE)数据控制语句(GRANT、REVOKE)4. 索引与约束索引的创建、修改和删除主键、外键的设置与维护唯一约束和检查约束的设置5. 视图与存储过程视图的创建、修改和删除存储过程的创建、修改和删除存储过程的调用三、实验环境1. 硬件环境:计算机实验室,每台计算机配备数据库管理系统软件。

2. 软件环境:数据库管理系统软件(如MySQL、Oracle、SQL Server 等),编程语言环境(如Python、Java等),文本编辑器或集成开发环境(如Visual Studio Code、Eclipse等)。

四、实验步骤1. 实验准备:安装并配置数据库管理系统软件,了解实验内容和要求。

2. 实验一:数据库的创建与管理创建一个名为“实验数据库”的新数据库。

打开已存在的数据库,进行备份和恢复操作。

3. 实验二:表的创建与管理创建一个名为“学生”的表,包括学号、姓名、年龄、性别等字段。

插入、删除和修改表中的数据。

4. 实验三:SQL语言基础使用SELECT语句查询学生表中的数据。

使用INSERT、UPDATE和DELETE语句操作学生表数据。

5. 实验四:索引与约束为学生表的学号字段创建索引。

设置主键、外键、唯一约束和检查约束。

数据库和表数据库表的基本操作和表级约束约束条件-实验报告

数据库和表数据库表的基本操作和表级约束约束条件-实验报告

《数据库系统概论》实验报告题目:实验一 数据库和表数据库/表的基本操作和表级约束约束条件姓名 班级 学号 日期2010.9.29一. 实验内容和步骤结果1.在Student 数据库中,利用图形用户界面,创建一个选修了数据库课程并且是1986年出生的学生的视图,视图中包括学号,性别,成绩这三个信息:2.用两种不同的SQL 语句创建课本128页第11题中要求的视图(视图名:V_SPJ ) 方法一:CREATE VIEW V_SPJ ASSELECT SNO ,PNO ,QTY FROM SPJ WHERE JNO in( SELECT JNO FROM J 表WHERE JNAME ='三建')方法二:CREATE VIEW V_SPJASSELECT SNO,PNO,QTYFROM SPJ,J表WHERE SPJ.JNO=J表.JNO ANDJNAME='三建'3.用SQL语句完成课本128页第11题中对视图V_SPJ的查询(1)SELECT PNO,QTYFROM V_SPJ(2)SELECT PNO,QTY FROM V_SPJWHERE SNO='S1'4.用T-SQL语句操作视图的数据。

(15分,每题5分)(1) 给视图V_SPJ中增加一条数据(基本表中有插入的数据即可)。

INSERTINTO V_SPJVALUES('S0','P0','100')(2)修改视图V_SPJ中的任意一条数据的供应数量。

UPDATE V_SPJSET QTY=10WHERE SNO='S1'ANDPNO='P1'(3)删除视图V_SPJ中的任意一条数据。

DELETEFROM V_SPJWHERE SNO='S1';5.在图形用户界面中创建新登录名以及用户。

(20分,每题10分)(1)对于数据库company创建P148页第 8题中所需要用到的各个用户以及相关的关的登录名。

数据库基础数据表的创建与管理

数据库基础数据表的创建与管理

数据库基础数据表的创建与管理
数据库是现代计算机系统中用于存储和管理数据的重要工具。

在数据库中,数据表是存储数据的基本单位。

本文将介绍数据库基础数据表的创建与管理。

1. 创建数据表
要创建一个数据表,需要定义数据表的名称、每个字段的名称、数据类型和约束条件。

在定义数据表之前,必须确定数据表存储的数据类型和数据结构。

2. 管理数据表
对于已经创建的数据表,需要对数据表进行管理。

管理数据表包括以下方面:
①. 修改数据表结构:需要在数据表已有数据的前提下,对数据表进行结构修改。

例如新增字段、删除字段、修改字段数据类型等。

②. 约束条件管理:对于数据表中的约束条件,需要进行管理和维护。

例如,对于主键和外键约束,需要对其进行管理和维护,保证数据的完整性和一致性。

③. 数据表备份和恢复:为了保证数据的安全性,需要对数据表进行备份和恢复。

备份可以保证数据的安全性,恢复可以保证数据的完整性。

3. 数据表的性能优化
对于大型数据库,需要对数据表进行性能优化。

性能优化包括以下方面:
①. 索引优化:对于经常进行数据检索的数据表,需要对其进行索引优化,提高数据检索的效率。

②. 分区管理:对于大型数据表,可以进行分区管理,将数据表分成多个区域,减少数据操作的压力,提高数据操作的效率。

总之,数据库基础数据表的创建与管理是数据库管理中的重要步骤。

只有对数据表进行良好的管理和维护,才能保证数据库的稳定性和安全性。

学生成绩管理系统数据库设计实验报告

学生成绩管理系统数据库设计实验报告

学生成绩管理系统数据库课题: 雇员信息管理系统姓名:学号:同组姓名:专业班级:指导教师:设计时间:2012年6月4号----2012年6月10日一、需求分析阶段1.信息需求对学校而言,学生成绩管理系统是所有工作的首要之选,但是高校学生的成绩管理工作量大、繁杂,人工处理非常困难。

因此,借助于强大计算机的处理能力,能够把人从繁重的成绩管理工作中解脱出来,并且更加准确、安全、清晰的管理环境。

2.功能需求能够进行数据库的数据定义、数据操纵、数据控制等处理功能。

具体功能应包括:系统应该提供课程安排数据的添加、插入、删除、更新、查询;成绩的添加、修改、删除、查询,学生及教职工基本信息查询的功能。

3. 安全性与完整性要求对于学生成绩管理系统数据库来讲,由于其主要数据是学生成绩,只能由本人以及所教老师及教务处知道,因此做好数据安全性是重中之重。

另外,要求所有在校学生的信息都要录入其中,并且要设计好个别情况。

二、概念结构设计阶段概念结构设计阶段是整个数据库设计的关键,它通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型。

设计成绩管理数据库包括学生、成绩、课程、教师四个关系。

E-R图如下三、详细设计阶段详细结构是独立于任何一种数据模型的信息结构。

详细结构的任务是把概念结构设计阶段设计好的基本E-R图转化为宜选用的DBMS所支持的数据模型相符合的逻辑结构,并对其进行优化。

E-R图向关系模型转化要解决的问题是如何将实体型和实体间的联系转化为关系模式,如何确定这些关系模式的属性和码。

设计学生成绩管理数据库,包括课程、学生、教师、成绩四个关系, 其关系模式中对每个实体定义的属性如下:课程信息表Class:(课程号,课程名,教师号,学分,学时)学生信息表Student1:(学号,姓名,性别,年龄,专业,系别)成绩表Score:(学号号,课程名,成绩)教师表Teacher1:(教师号,教师名,教师性别,教师系别)2、学生信息表(student1)四、数据库实现数据库实施是指建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。

实验创建数据库及关系表数据完整性约束

实验创建数据库及关系表数据完整性约束

实验创建数据库及关系表数据完整性约束CKBOOD was revised in the early morning of December 17, 2020.实验一创建数据库及关系表、数据完整性约束网工1203 熊健羲 38一、实验目的1. 掌握SQL Server数据库管理系统的使用,能够在该环境中进行日常数据库操作;2. 掌握在SQL Server中使用图形化工具创建数据库的方法;3.掌握建立关系表的语句,掌握定义主码约束及外码约束的语句;4.掌握修改表结构的语句。

5.掌握数据完整性约束的功能。

二、实验内容和步骤1.创建符合如下条件的数据库:数据库的名字为:Students数据文件的逻辑文件名为:Students_dat,存放在用户盘某目录下;文件的初始大小为:5MB;增长方式为自动增长,每次增加1MB。

实验结果:2.在已建立的Students数据库中,确定出各表中的数据类型,写出创建满足下述条件的四张表的SQL语句,并查看执行结果。

实验结果:3.写出实现如下操作的SQL语句,并查看执行结果:(1)在选课表中添加一个新的修课类别列:列名为:选课类别,类型为char(4)。

(2)将课程表中的学分列的类型改为:tinyint(微整型,取值范围在0~255)。

(3)删除学生表的专业列。

(4)为教师表添加主码约束,其主码列为:教师号。

实验结果:4.在Students数据库中,编写建立满足完整性要求的定义表的SQL语句,执行并观察执行结果。

(1)图书表,结构如下:书号:统一字符编码定长类型,长度为6,主码,书名:统一字符编码可变长类型,长度为30,非空,第一作者:普通编码定长字符类型,长度为10,非空,出版日期:小日期时间型,小于等于当前系统日期,(用getdate()实现)印刷数量:小整型,取值范围:1000~5000,默认为4000,价格:定点小数,小数部分一位,整数部分3位。

实验结果:(2)书店表,结构如下:书店编号:统一字符编码定长类型,长度为6,主码,店名:统一字符编码可变长类型,长度为30,非空,电话:普通编码定长字符类型,12位长,取值形式:010-8位数字地址:普通编码可变长字符类型,40位长。

《数据库实验》实验报告

《数据库实验》实验报告

《数据库实验》实验报告《数据库实验》实验报告黄爱蓉编审湖北汽车⼯业学院电⼦信息科学系⼆〇〇七年⼀⽉实验⼀:建⽴数据库及基本表实验报告⼀、实验⽬的1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使⽤SQL查询分析器⽤CREA TE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。

⼆、实验内容1、创建数据库和查看数据库属性。

2、创建表。

3、查看和修改表结构。

4、熟悉企业管理器和查询分析器⼯具的使⽤⽅法三、实验步骤1、在企业管理器中创建数据库和数据表。

(1) 使⽤企业管理器建⽴图书管理数据库,数据库名为BM,初始⼤⼩为10MB,最⼤为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB,按1MB增长。

数据库的逻辑⽂件名和物理⽂件名均采⽤默认值。

详细步骤:(2) 在企业管理器中查看图书管理数据库的属性,并进⾏修改,使之符合要求。

(3) 通过企业管理器,在建好了图书管理数据库BM中建⽴图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅⽇期)。

创建上述三个表的步骤:三个表各个字段的数据类型:2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句:(2) 在数据库S-C下,创建基本表学⽣表student(sno,sname,ssex,sage,sdept)的sql语句:创建基本表课程表course(cno,cname, ccredit)的sql语句:创建基本表成绩表sc(sno,cno,grade)的sql语句:(3) 在窗⼝下分别键⼊DROP TABLE Student及DROP TABLE SC命令,运⾏后观察结果。

实验一数据库及基本表的建立

实验一数据库及基本表的建立

实验一数据库及基本表的建立一、实验目的1、掌握SQL SERVER的查询分析器和企业管理器的使用;2、掌握创建数据库和表的操作;二、实验内容和要求1、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库;2、练习使用SQL语句、企业管理器(Enterprise Manager)创建数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/xp;2.数据库管理系统:SQL sever 2005;四、实验方法、步骤及结果测试题目1、创建数据库“学生情况”:SQL语句Create database 学生情况查询分析器执行情况:SQL语句及执行结果截图显示找到主数据文件和日志文件,观察大小,并给出截图。

SQL语句EXEC sp_renamedb学生情况, student查询分析器执行情况:SQL语句及执行结果截图显示题目3、创建基本表含义字段名字段类型字段说明宽度学号Sno Char 10 主键,不允许为空姓名Sname char 10 不允许为空性别Ssex char 2 取值为男或女专业Ssp char 20系别Sdept char 20出生日期Sbirth datetime地区来源Sfrom varchar 30变动情况Schg char 10政治面貌Spa char 8 默认团员民族Snation char 8 默认为汉族含义字段名字段类型字段宽度说明课程编号Cno Char 10 主键课程名称Cname Char 10 唯一约束任课教师Tname Char 8Cdept Char 20开课系别学分CCredit Real 0-20含义字段名字段类型字段宽度说明学号Sno Char 10 外键,与cno共同构成主键课程编号Cno Char 10 外键,与sno共同构成主键成绩Grade real 检查约束0-100 备注Remark varchar 50SQL语句create table S(Sno char(10)primary key,Sname char(10)not null,Ssex char(2)check(Ssex='男'or Ssex='女'),Ssp char(20),Sdept char(20),Sbirth datetime,Sfrom varchar(30),Schg char(10),Spa char(8)default'团员',Snation char(8)default'汉族');create table C(Cno char(10)primary key,Cname Char(10)unique,Tname char(8),Cdept char(20),CCredit real check(CCredit>=0 and CCredit<=20));create table Sc(Sno char(10)References C(Cno),Cno char(10)References s(sno),Grade real check(Grade>=0 and Grade<=100))忘记了一个字段,加上:alter table Sc add Remake varchar(50)查询分析器执行情况:SQL语句及执行结果截图显示题目4*、用sql语句将C表中的ccredit改为整型,同样约束为0-20之间题目5、用sql语句在S表中添加一格“备注”字段remark,变长字符型,长度30,并保存结果题目6. 用sql语句将S表中“专业”字段数据类型改为varchar,长度为30并保存结果题目7. 用sql语句删除SC表中的“备注”字段并保存结果生成数据库关系图截图显示题目9*.用sql语句在S中增加约束,要求学号要用S开头,后接4位数字组成的字符串试着插入学号为0001,姓名为张三的学生,给出提示结果的截图alter table sc drop FK__Sc__Sno;update sc set sno='s'+sno;update s set sno='s'+sno;alter table s add constraint ck_s_sno check(sno like's____');alter table sc add constraint fk_sc_sno foreign key(sno)references s(sno);通过sql语句Sno Sname Ssex Ssp Sdept Sbirth Sfrom Schg Spa SnationRemarkS0001 高明男计算机科学与技术CS 1994-03-14 大连团员汉S 0002 东学婷女计算机应用CS 1986-10-24 包头转系团员蒙S 0003 张五男男电子商务MA 1984-2-17 上海退学团员汉S 0004 刘% 男电子商务MA 1985-4-24 巴盟团员汉S 0005 吴惠女软件开发CS 1985-2-10 通辽团员汉S 0006 王涛男软件开发CS 1984-9-8 赤峰团员满S 0007 郭凤丽男应用电子IS 1984-3-2 广州团员蒙S 0008 贾惠男应用电子IS 1983-2-2 深圳团员汉S 0009 刘一% 男软件开发CS 1985-9-9 东莞团员满S 0010 李春刚男计算机应用CS 1985-2-10 河源团员汉李春刚insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0001','高明','计算机科学与技术','CS','1994-03-14','大连',null,default,'汉)'insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0002','东学婷','女','计算机应用','CS','1986-10-24','包头','转系',default,'蒙',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark)values('s0003','张五男','男’,'电子商务','MA','1984-2-17','上海','退学',default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0004','刘%','男','电子商务','MA','1985-4-24','巴盟',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0005','吴惠','女','软件开发','CS','1985-2-10','通辽',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0006','王涛','男','软件开发','CS','1984-9-8','赤峰',null,default,'满',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0007','郭凤丽','男','应用电子','IS','1984-3-2','广州',null,default,'蒙',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0008','贾惠','男','应用电子','IS','1983-2-2','深圳',null,default,default,null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0009','刘一%','软件开发','CS','1985-9-9','东莞',null,default,'满',null);insert into s(sno,sname,ssex,ssp,sdept,sbirth,sfrom,schg,spa,snation,sremark) values ('s0010','李春刚','男','计算机应用','CS','1985-2-10','河源',null,default,default,'李春刚'');.通过sql语句向C表中添加数据,并保存结果Cno Cname Tname Cdept Ccredit01 计算机应用王晓梅IS 402 高等数学李一MA 603 网页制作张铁柱CS 604 软件工程付大鹏CS 405 数据库白一格CS 6INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('01','计算机应用','王晓梅','IS',4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('02','高等数学','李一','MA',6)INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('03','网页制作','张铁柱','CS',6) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('04','软件工程','付大鹏','CS',4) INSERT INTO C(Cno,Cname,Tname,Cdept,CCredit)VALUES('05','数据库','白一格','CS',6)截图:Sno Cno Grade 0001 02 85 000103 75 000104 90 0002 05 50 0003 01 85 0003 02 75 0004 03 60 0004 02 92 0005 01 85 0005 04 46 0006 05 95 0006 03 52 0007 04 96 0007 05 85 0008 04 76 0008 05 68INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','02',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','03',75) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('001','04',90) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('002','05',50) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('003','01',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('003','02',75) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('004','03',60) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('004','02',92) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('005','01',85) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('005','04',46) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('006','05',95) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('006','03',52) INSERT INTO Sc(Sno,Cno,Grade)V ALUES('007','04',96)五、实验中出现的问题及解决方案1.创建数据库时常出错,可不删除原数据库,再修改字段,然后再重新定义数据库2.要去除强制外键约束,才能在中间插入值六、思考题1、说明数据库中的表和数据文件的关系。

数据库实验报告-表的基本操作和表级约束约束条件

数据库实验报告-表的基本操作和表级约束约束条件

《数据库系统概论》实验报告题目:实验一 数据库和表数据库/表的基本操作和表级约束约束条件姓名 班级学号 日期2010.9.29一. 实验内容和步骤结果1. 利用图形用户界面创建和删除数据库和数据表 (1) 创建SPJ 数据库:具体步骤:在数据库上鼠标右键点新建数据库,然后按照要求创建即可。

运行结果:(2) 在SPJ 数据库中分别创建上述的四张表(只输入一部分数据示意即可):具体步骤:鼠标移到刚建好的SPJ 目录下的表上,右键单击,选择新建表,然后按要求建立即可。

运行结果:(3)备份SPJ数据库:具体步骤:在需要备份的数据库即SPJ上单击鼠标右键,选择任务,然后选择备份,在备份时可选择性的将数据库备份到自己新建的目录下,以方便查找。

运行结果:(4)删除已经创建的工程项目表(J表):具体步骤:在表上右键选择删除即可。

运行结果:(5)删除SPJ数据库:具体步骤:在数据库上右键选择删除即可。

运行结果:(6)还原刚才删除的SPJ数据库:具体步骤:在数据库上点鼠标右键,选择还原数据库,在需要还原的数据库即目标数据库中输入SPJ,在源设备中输入刚才所保存的路径,确认即可。

运行结果:2.利用SQL语言创建数据库和数据表(1)用T-SQL语句创建数据库Student:SQL源码:CREATE DATABASE StudentON(NAME=Student,FILENAME='D:\Student.mdf',SIZE=20,MAXSIZE=100,FILEGROWTH=10)LOG ON(NAME=StuLog,FILENAME='D:\Student.ldf',SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB);运行结果:(2)使用T-SQL语句创建三张表:S表,C表,SC表:SQL源码:CREATE TABLE S(sno CHAR(10),sname CHAR(10),ssex CHAR(10),sbirth CHAR(10),Sdept CHAR(10));CREATE TABLE C(cno int,cname CHAR(10),cpno int,Ccredit int);CREATE TABLE SC(sno CHAR(10),cno int,grade int);运行结果:(3)用T-SQL语句备份数据库Student:SQL源码:BACKUP DATABASE StudentTO disk='D:\Student.bak'运行结果:(4)用T-SQL语句删除创建的表:SQL源码:DROP TABLE SDROP TABLE CDROP TABLE SC运行结果:(5)用T-SQL语句删除创建的数据库: SQL源码:DROP DATABASE Student运行结果:(6)用T-SQL语句还原刚才备份的数据库Student: SQL源码:RESTORE DATABASE StudentFROM DISK='D:\Student.bak'运行结果:3.利用图形用户界面对上题中创建的Student库的S表中,增加以下的约束和索引(1)将学号(sno)设置为主键,主键名为pk_sno:(2)为性别(ssex)添加默认约束(默认值),其值为“男”:(3)为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname:(4)为出生日期(sbirth)添加CHECK约束,约束名为ck_sbirth,其检查条件为:出生日期大于1986年1月1日:(5)为sbirth创建一个降序排列的UNIQUE索引,索引名为IX_Sbirth:4. 用SQL语言为Student数据库中的SC表添加外键约束,要求如下:将sno,cno设置为外键,其引用表为分别是S表和C表,外键名称分别为fk_sno,fk_cno:SQL源码:ALTER TABLE SC ADD PRIMARY KEY (Sno,Cno)ALTER TABLE SC ADD FOREIGN KEY (fk_sno)REFERENCES S(Sno)ALTER TABLE SC ADD FOREIGN KEY (fk_sno)REFERENCES C(Cno) 运行结果:5. 利用图形用户界面根据上面的外键定义画出由S,C,SC表构成的数据库关系图6.用SQL语言删除S表中所创建的约束或者索引(第3小题中的(1)-(5)) (1)删除主键pk_sno:(2) 删除ssex的默认值“男”:(3)删除sname的唯一约束uk_sname:(4)删除sbirth 的CHECK约束:(5)删除sbirth的UNIQUE索引IX_Sbirth:二. 实验中出现的问题以及解决方案(对于未解决问题请将问题列出来)除了标题内容以外,该部分内容中还可以写对于实验的一些感受,建议,意见等。

SQL语言基础

SQL语言基础

关系数据库的标准语言----------结构化查询语言(Structured Query Language),SQL语言是介于关系代数和元组演算之间的一种语言。

一、历史1986年10月,美国国家协会(ANSI)发布了ANSI文件X5.135-1986《数据库语言SQL》,1987年6月国际化标准化协会(ISO)采纳为国际标准。

这两个标准现在称为“SQL86”。

1989年10月ANSI又颁布了增强完整性特征的SQL89标准。

随后,ISO对标准进行了大量的修改和扩充。

1992年8月ISO 发布了标准化文件ISO/IEC9075:1992《数据库语言SQL》,人们习惯称标准为SQL92-----“SQL2”。

1999年ISO发布了标准化文件:ISO/IEC9075:1999年《数据库语言SQL》,人们习惯称为SQL----“SQL3”。

二、数据库的体系结构SQL数据库的体验结构基本上也是三级结构,但属于与关系模型的术语不同。

在SQL 中,关系模式称为“基本表”,存储模式称为“存储文件”,子模式称为“视图”,元组称为“行”,属性称为“行”。

SQL数据库的体系结构要点如下:(1)一个SQL模式是表和约束的集合。

(2)一个表由行集构成,一行是列的序列,每列对应一个数据项。

(3)表有三种类型:基本表,视图和导出表。

基本表是实际存储在数据库中的表,视图是由若干基本表或其他视图构成。

导出表是执行了查询时产生的表。

(4)一个基本表可以跨一个或多个存储文件,一个存储文件也可以存放一个或多个基本表。

每一个存储文件与外部存储器上一个物理文件对应。

体系结构:三、SQL的组成核心的SQL主要有四个部分组成:(1)数据定义语言,即SQL DDL。

(2)数据操纵语言,即SQL DML。

(3)嵌入式SQL语言的使用规定。

(4)数据控制语言,即SQL DCL。

四、SQL 的特点SQL具有如下特点,(1)SQL具有十分灵活和强大的查询功能。

实验报告——精选推荐

实验报告——精选推荐

实验报告实验⼀:数据定义及更新语句练习⼀、实验⽬的熟练掌握⽤SQL语句实现数据库和基本表的创建以及数据的更新。

⼆、实验内容(1)⽤SQL语句建⽴如下以⾃⼰名字为名的数据库,包括S,P,J,和SPJ四个基本表(教材第⼆章习题5中的四个表),要求实现关系的三类完整性。

S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);(2)分别使⽤插⼊、删除、修改的⽅式更新基本表中的数据。

a.利⽤Insert 语句将习题中给出的⽰例记录插⼊各表。

b.利⽤Update更新表中的记录:①将p表中的所有红⾊零件的重量增加5。

②将spj表中所有天津供应商的QTY属性值减少10。

⽤⼦查询。

c.利⽤Delete语句删除p表中的所有红⾊零件的记录。

三、完成情况1.创建四个基本表:CREATE TABLE S(SNO CHAR(20)PRIMARY KEY,SNAME CHAR(20),STATUS INT,CITY CHAR(20));CREATE TABLE P(PNO CHAR(20)PRIMARY KEY,PNAME CHAR(20),COLOR CHAR(10),WEIGHT INT);CREATE TABLE J(JNO CHAR(20)PRIMARY KEY,JNAME CHAR(20),CITY CHAR(20));CREATE TABLE SPJ(SNO CHAR(20),PNO CHAR(20),JNO CHAR(20),QTY INT,PRIMARY KEY(SNO,PNO,JNO),FOREIGN KEY(SNO)REFERENCES S(SNO),FOREIGN KEY(PNO)REFERENCES P(PNO),FOREIGN KEY(JNO)REFERENCES J(JNO));2.利⽤INSERT语句为四个基本表插⼊数据(每个表的插⼊操作均只以两个数据插⼊为例,其余省略):INSERTINTO SVALUES('S1','精益','20','天津');INSERTINTO SVALUES('S2','盛锡','10','北京');INSERTINTO PVALUES('P1','螺母','红','12');INSERTINTO PVALUES('P2','螺栓','绿','17');INSERTINTO JVALUES('J1','三建','北京');INSERTINTO JVALUES('J2','⼀汽','长春');INSERTINTO SPJVALUES('S1','P1','J1','200');INSERTINTO SPJVALUES('S1','P1','J3','100');3.利⽤UPDATE语句更新表中的记录:UPDATE PSET WEIGHT=WEIGHT+5WHERE COLOR='红';UPDATE SPJSET QTY=QTY-10WHERE SNO IN(SELECT SNOFROM SWHERE CITY='天津');4.利⽤Delete语句删除p表中的所有红⾊零件的记录DELETEFROM SPJWHERE PNO IN(SELECT PNOFROM PWHERE COLOR='红');DELETEFROM PWHERE COLOR ='红';四、实验结果1.利⽤INSERT 语句为四个基本表插⼊数据:2.利⽤UPDATE 语句更新表中的记录:3.利⽤Delete 语句删除p 表中的所有红⾊零件的记录五、问题与解决1.如何保存数据库?原以为需要⽤⼀次输⼊⼀次,后来通过⽼师讲解知道可以分离数据库(只保留.mdf⽂件就⾏了,到⽤时在附加数据库),还可以备份数据库。

太原理工大学数据库实验报告

太原理工大学数据库实验报告

本科实验报告课程名称:数据库系统概论实验项目:交互式SQL、数据完整性、用户鉴别与数据控制实验地点:致远楼B503专业班级:软件1229班学号:29学生姓名:***指导教师:***2014年3 月18 日一、实验目的和要求熟悉通过SQL 对数据库进行操作。

二、实验内容和原理1.在RDBMS 中建立一个学生-课程数据库,进行实验所要求的各种操作,所有的SQL 操作均在此建立的新库里进行。

2.根据以下要求认真进行实验,记录所有的实验用例及执行结果。

数据定义:基本表的创建、修改及删除;索引的创建和删除。

数据操作:完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询);完成各类更新操作(插入数据,修改数据,删除数据)。

视图的操作:视图的定义(创建和删除),查询,更新(注意更新的条件)。

三、主要仪器设备操作系统:Windows 7。

数据库管理系统:SQL Server2008。

四、操作方法与实验步骤实验数据记录实验结果(一)数据定义:一.基本表的操作1.建立基本表1)创建学生表Student,由以下属性组成:学号Sno(char 型,长度为9,主码),姓名Sname(char 型,长度为20,唯一),性别Ssex(char 型,长度为2),年龄(smallint),所在系(char 型,长度为20)。

create table Student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));2)创建课程表Course,由以下属性组成:课程号Cno(char 型,主码,长度为4),课程名Cname(char 型,长度为40),先行课Cpno(char型,长度为4,外码),学分Ccredit(smallint)。

create table Course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint);若设置Cpno 外码,插入数据时会提示违反外码约束。

五邑大学《数据库原理》实验指导书

五邑大学《数据库原理》实验指导书

《数据库原理》实验指导书V2.0执笔:日期:实验一 数据库、表、索引的定义一、实验目的:通过本实验加深对SQL Server 2008环境下数据定义语言的理解,能够熟练地建立数据库,并通过SQL 语句来创建和修改基本表、创建和取消索引。

二、实验内容:使用SQL Server 2008软件,练习创建和修改数据库、表、索引。

三、实验要求:建立一个新的SQL Server 设备管理数据库,使用SQL 的数据定义功能建立数据库中的各个基本表(共3个),并按要求对有关表进行修改。

每次操作后通过企业管理器查看有关对象的变化。

四、实验学时:2学时 五、实验步骤:1.创建数据库1) 使用企业管理器创建数据库运行Microsoft SQL Server Management Studio 并建立于数据库的连接后,进入如图1界面:在“数据库”上右击,进入图2所示界面。

图1Microsoft SQL Server Management Studio 管理界面图2新建数据库管理界面图3 新建数据库设置界面在图3中进行相关设置,主要包括:①输入数据库名称(根据学生本人的学号取名),所有者为默认。

②在“数据库文件”页中输入文件逻辑名称。

③若要更改数据文件的物理存储位置,在“路径”中修改,(注意确定文件目录已经存在、并允许读写)。

④在“初始大小”项上输入希望的大小。

⑤可在“自动增长”中修改默认设置。

【说明一】:数据文件和日志文件的作用数据文件又包括:主数据文件和辅助数据文件。

主数据文件的扩展名是.mdf,每个数据库只能包含一个主数据文件。

辅助数据文件的扩展名是.ndf。

辅助数据文件可以同主数据文件存放在相同的位置,也可以存放在不同的地方。

日志文件记录页的分配和释放以及对数据库数据的修改操作。

日志文件的扩展名为.ldf,它包含用于恢复数据库的日志信息。

每个数据库必须至少有一个日志文件。

【说明二】:数据库文件的属性在定义数据库的数据文件和日志文件时,可以指定如下属性:文件名及其位置。

数据库与表的基本操作实验报告

数据库与表的基本操作实验报告

实验4《存储过程》实验学时: 4每组人数: 1实验类型: 2 (1:基础性2:综合性3:设计性4:研究性)实验要求: 1 (1:必修2:选修3:其它)实验类别: 3 (1:基础2:专业基础3:专业4:其它)一、实验目的理解存储过程的概念、建立和调用方法。

进一步熟悉SQL语句对数据库进行完整性控制的方法。

二、实验内容1、建立一个新的销售数据库,包含五张表,每张表至少需要10条记录。

(1)/*员工人事表employee */(2)/*客户表customer */(3)/*销售主表sales */(4)/*销货明细表sale_item */(5)/*产品名称表product */2、建立表的同时创建表的约束。

(1)为每张表建立主键约束。

(2)通过拖放操作加入外键。

(3)在表employee加入CHECK约束:输入的员工编号必须以E开头的5位数编号,性别只能为M/F。

(4)为销售主表sales中的发票编号字段建立UNIQUE约束。

3、利用存储过程,给employee表添加一条业务部门员工的信息。

4、利用存储过程从employee、sales、customer表的连接中返回所有业务员的姓名、客户姓名、销售金额。

5、利用存储过程查找“刘德华”的员工编号、订单编号、销售金额。

6、利用存储过程查找姓“李”并且职称为“职员”的员工的员工编号、订单编号、销售金额。

7、利用存储过程计算出订单编号为10003的订单的销售金额。

三、实验要求:1.熟悉SQL SERVER 工作环境;2.建立销售数据库3.复习有关约束与存储过程的SQL语言命令。

4.备份数据库,作为实验5 的操作数据库。

四、实验步骤1.创建销售数据库,并建表、修改,要求将自己的信息包含其中;2、利用存储过程,给employee表添加一条业务部门员工的信息。

3、利用存储过程从employee、sales、customer表的连接中返回所有业务员的姓名、客户姓名、销售金额。

数据库实验3答案

数据库实验3答案

实验三:交互式SQL语句的使用1、实验目的(1)掌握数据库对象的操作过程,包括创建、修改、删除(2)熟悉表的各种操作,包括插入、修改、删除、查询(3)熟练掌握常用SQL语句的基本语法2、实验平台使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。

3 实验内容及要求选择如下一个应用背景之一:学生选课系统习题3、4、和5中使用的数据库其它你熟悉的应用(1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。

(2)要求认真进行实验,记录各实验用例及执行结果。

(3)深入了解各个操作的功能。

实验要求包括如下方面的内容:3.1 数据定义1.基本表的创建、修改及删除2.索引的创建3.视图的创建3.2 数据操作完成各类更新操作包括:1.插入数据2.修改数据3. 删除数据3.3 数据查询操作完成各类查询操作1.单表查询2.分组统计3. 连接查询4. 嵌套查询5. 集合查询3.4 数据操作1.创建视图2.视图查询参考示例:建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。

一、数据定义创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表:表1. Student表结构列名称用途类型长度约束备注Sno 学号字符8 主键Sname 姓名字符8Ssex 性别字符 2Sage 年龄整型Sdept 所在系字符20Sclass 班级字符 4表2. Course表结构列名称用途类型长度约束备注Cno 课程号字符 4 主键Cname 课程名字符40Cpno 先修课程号字符 4Ccredit 学分整型表3. SC表结构列名称用途类型长度约束备注Sno 学号字符8 外键Cno 课程号字符 4Grade 成绩整型1.创建、修改及删除基本表(1)创建Student表CREATE TABLE Student(Sno CHAR(8)PRIMARY KEY,Sname CHAR(8),Ssex CHAR(2)NOT NULL,Sage INT,Sdept CHAR(20));(2)创建Course表CREATE TABLE Course(Cno CHAR(4)PRIMARY KEY,Cname CHAR(40)NOT NULL,Cpno CHAR(4),Ccredit SMALLINT,);(3)创建SC表CREATE TABLE SC(Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno),Cno CHAR(4),Grade SMALLINT,);(4)创建员工表EmployeeCREATE TABLE Employee(编号CHAR(8)PRIMARY KEY,姓名VARCHAR(8)not null部门CHR(40),工资numeric(8,2),生日datetime,职称char(20),);指出该语句中的错误并改正后执行。

数据库实验1-7

数据库实验1-7

1《实验一 认识DBMS 》在SQL Server 2005中完成以下操作:(1) 建立SC 数据库,数据库命名:SC_姓名拼音+学号后三位,如SC_xiebing131;(2) 在其中建立Student 表、Course 表和SC 表,表结构如下,自己选择各属性的数据类型;学生关系Student(Sno ,Sname ,Ssex ,Sage ,Sdept)其中Sno 为主码,并且Sname 取值也唯一 课程关系Course(Cno ,Cname ,Cpno ,Ccredit)其中Cno 为主码,并且Cname 取值也唯一选修关系SC(Sno ,Cno ,Grade) 其中Sno 和Cno 不能为空,(Sno, Cno)为主码(3) 参照教材在各表中输入一定的记录,在student 表中输入一条自己的记录;(4) 进行表结构的修改和记录的修改、删除操作;(5) 验证教材P45基本关系具有的6个性质;(6) 分离数据库,保存数据库文件,以后上机要带上。

《实验二数据定义》实验内容:(1) 数据库的定义与删除(2)基本表的创建、修改及删除;(3) 索引的创建和删除;(4) 使用SQL 对数据进行完整性控制(实体完整性、参照完整性);(一)使用命令行方式建立SPJ 数据库(1)用SQL 语言建立SPJ 数据库,数据库命名:SPJ-姓名拼音+学号后三位,如SPJ-liyan112;(2)用SQL 语言在其中建立S 表、P 表、J 表和SPJ 表(要求进行完整性定义),表结构如下;厂家 S (SNO ,SNAME ,STA TUS ,CITY ),其中STA TUS (状态)为整型,其他均为字符型产品 P (PNO ,PNAME ,COLOR ,WEIGHT ),其中WEIGHT (重量)为浮点型,其他均为字符型工程 J (JNO ,JNAME ,CITY ),其中各属性均为字符型供应 SPJ (SNO ,PNO ,JNO ,QTY ),其中QTY (供应量)为整型,其他均为字符型建立数据表的语法格式CREA TE TABLE <表名>(<列名><数据类型>[<列级完整性约束条件> ] [,<列名><数据类型>[<列级完整性约束条件>]] …[,<表级完整性约束条件> ] );(3) 参照教材用SQL 语言分别在4个数据表中输入一定的记录;插入数据的语法格式:INSERTINTO <表名> [(<属性列1>[,<属性列2 >…)]V ALUES (<常量1> [,<常量2>] … )(4) 保存SQL 文件,文件名:SPJ-姓名拼音+学号后三位.sql ,如SPJ-xukai012.sql(二)使用命令行方式建立学生课程数据库(1) 用SQL 语言建立学生课程数据库,数据库命名:SC_学号后四位及姓名,如SC_3112liyan ;(2) 用SQL 语言在学生课程数据库中建立3个表,要求进行完整性定义;学生关系Student(Sno ,Sname ,Ssex ,Sage ,Sdept)其中Sno 不能为空,值是唯一的,并且Sname 取值也唯一,Sage 自定义约束“大于16” 课程关系Course(Cno ,Cname ,Cpno ,Ccredit)其中Cno 不能为空,值是唯一的,并且Cname 取值也唯一教师关系Teacher(Tno ,Tname ,Department ,Email ,Salary) 其中Tno 不能为空,值是唯一的选修关系SC(Sno ,Cno ,Grade) 其中Sno 和Cno 不能为空,(Sno, Cno)为主码,Grade 的数据类型为int(3) 修改数据表:✓ 将SC 表中Grade 的数据类型改为f loat ;✓ 在Student 表中增加一个属性Scome 记录学生的入学时间,其数据类型为DATETIME ;✓ 删除Student 表中新增加Scome 属性;✓ 删除表Teacher 表中的Email 属性;✓ 删除Student 表中对Sname 属性创建的Unique 约束。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二基本表的创建与约束机制一、实验目的1、熟悉SQL语言的基本语法2、掌握T-SQL语句创建、修改表的方法及建立约束的方法3、掌握使用SSMS创建、修改表的方法及建立约束的方法4、掌握T-SQL语句对表中数据进行操作5、会利用SSMS对表中数据进行操作6、理解并掌握五种约束机制的基本概念二、实验内容和要求在SQL Server 2005中用SSMS和T-SQL语句两种方式建立并管理数据库,进行实验所要求的各种操作,所有的SQL操作均在以自己姓名命名的数据库里进行,请完成下列操作。

【基本知识拓展,请认真阅读,完成并理解实验任务】(一)数据库的基本概念①数据库文件SQL Server 2005中的文件通常有两种类型:逻辑文件名和物理文件名。

1、逻辑文件名是在所有T-SQL语句中引用物理文件时所使用的名称。

逻辑文件名必须符合标识符的命令规则,而且数据库中的逻辑文件名必须是唯一的。

2、物理文件名是包括目录路径的物理文件名。

它必须符合操作系统的命名规则。

逻辑文件名和物理文件名是一一对应的,其对应关系由SQL Server系统来维护。

SQL Server 2005数据库文件有3类:(1)主数据文件(也称主文件):主数据文件主要用来存储数据库的启动信息、部分或全部数据,是数据库的关键文件。

主数据文件是数据库的起点,包含指向数据库中其他文件的指针。

每个数据库都有一个主数据库文件。

主数据库文件推荐扩展名为.mdf。

(2)次要数据文件(也称辅助数据文件):除主数据文件以外的所有其他数据文件都是次要数据文件。

用于存储主数据文件中未存储的剩余数据和数据库对象。

一个数据库可以没有,也可以有多个次要数据文件。

次要数据文件推荐扩展名为 .ndf。

(3)事务日志文件(简称日志文件):存放用来恢复数据库所需的事务日志信息,每个数据库必须有一个或多个日志文件。

事务日志文件推荐扩展名为.ldf。

•一般情况下,一个数据库可以只有一个主数据库文件和一个事务日志文件组成,如果数据库很大,则可以设置多个次要数据文件和多个日志文件,并将它们放在不同的磁盘上,以便提高数据存取和处理的效率。

•【注意】SQL Server 2005不强制使用文件扩展名,但使用上述推荐扩展名,有利于标识文件的各种用途和类型。

②数据库的分类系统数据库依次打开SSMS中“对象资源管理器”对话框中的“服务器”|“数据库”|“系统数据库”文件夹,可以看到4个系统数据库,如图2-1所示。

1.SQL Server 2005系统数据库分别是master数据库、tempdb数据库、model数据库和msdb数据库。

(1)master数据库•master数据库记录SQL Server系统的所有系统级信息。

包括实例范围内的元数据(如登录账户)、端点、链接服务器和系统配置数据设置。

master数据库记录了所有其他数据库是否存在以及这些数据库文件的位置。

另外,数据库还记录了SQL Server的初始化信息。

因此,如果master数据库不可用,则SQL Server将无法启动。

(2)tempdb数据库•tempdb数据库是连接到SQL Server实例的所有用户都可用的全局资源,它保存了所有临时表和临时存储过程。

另外,它还用来满足所有其他临时存储的要求,如存储SQL Server生成的临时工作表。

每次启动SQL Server时,都要重新创建tempdb,以便系统启动时,该数据库总是空的。

在断开连接时,系统会自动删除临时表和存储过程,并且在系统关闭后没有活动链接。

因此,tempdb中不会有什么内容从一个SQL Server会话保存到另一个会话。

(3)model数据库•model数据库是在SQL Server实例上创建的所有数据库的模板。

因为每次启动SQL Server时都会创建tempdb数据库,所以tempdb数据库必须始终存在于SQL Server 系统中。

model数据库相当于一个模子,所有在系统中创建的数据库的内容,在刚创建时都和数据库完全一样。

可以在数据库中创建表或其它数据库对象,这些对象可以供以后建立的数据库所继承。

(4)msdb数据库•msdb数据库由SQL Server代理(SQL Server Agent)来计划警报和作业。

2.实例数据库•AdventureWorks、AdventureWorks DW是SQL Server 2005中的实例数据库,此类数据库是基于一个生产公司,以简单、易于理解的方式来展示SQL Server 2005。

3.用户数据库•用户根据数据库设计创建的数据库,一般是用来解决某一具体实际问题的数据库。

如图书管理数据库,教务管理数据库等。

(二)数据库的操作和管理1. 创建数据库•T-SQL提供了数据库创建语句CREATE DATABASE,其语法形式如下:• CREATE DATABASE 数据库名[ON[<文件定义> [,…n][,<文件组>[,…n]]][LOG ON {< 文件定义 > } [,…n]]}其中,各参数的含义如下:•数据库名:是所创建数据库的逻辑名称。

数据库名称在当前服务器中必须唯一且符合标识符的命名规则,最多可以包含128个字符;•ON:用于指定数据文件及文件组属性,具体属性值在<文件定义>中指定;<文件定义>的详细格式如下:•<文件定义>::=[PRIMARY](NAME=’逻辑文件名’,FILENAME=’存放数据库的物理路径和文件名’[,SIZE=数据文件的初始大小][,MAXSIZE=指定文件的最大大小][,FILEGROWTH=指定文件每次的增量])•LOG ON :用于指定事务日志文件的属性,具体属性值在<filespec>中指定。

•如果在定义时没有指定ON子句和LON ON 子句,系统将默认设置,自动生成一个主数据文件和一个事务日志文件,并将文件存储在系统默认路径上。

下面分别用SSMS和T-sql形式介绍具体操作,请大家完成实验任务。

①实验任务2-1(利用SSMS工具)创建一个名为TestSGMS的测试数据库,文件及其他选项均为默认。

•在任务管理器中,数据库选项处右击鼠标,点击新建数据库,在弹出的对话框中,左侧“选项页”中包括“常规”、“选项”和“文件组”三项。

大家可一一展开查看。

在“常规”选项卡中,可以设置新建数据库的名称、数据库的所有者、数据文件、事务日志文件等信息。

观察相应的参数,无误后点击确定。

如图所示。

②实验任务2-2(用T-sql代码)创建一个名为SGMS学生成绩管理系统数据库。

要求有3个文件,其中,主数据文件为10MB,最大大小为50MB,每次增长20%;辅助数据文件属于文件组fgroup,文件为10MB,大小不受限制,每次增长10MB;事务日志文件大小为20MB,最大大小为100MB,每次增长10MB。

文件存储为C:\db路径下。

(看懂即可,此题不需要实现)【注意】(1)服务器中不能存在同名的数据库名,所以类似CREATE语句均只能正确执行一次,下一次执行时,将提示该对象已存在;(2)创建数据库之前,文件存储路径C:\db必须存在。

2.表的设计与创建表的设计与创建应遵循以下流程(1)定义表的结构(2)设置约束(3)输入原始数据下面分别用SSMS和T-sql形式介绍具体操作,请大家完成实验任务,切忌只看不动手。

③实验任务2-3(利用T-sql工具)创建一个名为studentTest的基本表。

点击新建查询,打开代码编辑窗口,输入以下代码,选择正确的数据库,点击感叹号执行按钮,显示命名已成功完成。

此时表已经建立完成。

可用select * from studentTest查看表。

④实验任务2-4(利用SSMS工具)创建一个名为courseTest的基本表。

在左边对象资源管理器中,选择正确的数据库,展开后在“表”选项上,右击鼠标,选择“新建表”,打开表结构设计器。

输入相关参数如列名,数据类型以及第一层约束:是否允许为空值,最后在选项卡上右击鼠标选择保存时为表命名:courseTest。

刷新左边资源管理器即可看到此表已经创建完成,可将此表逐步展开查看刚设置的相关列信息。

3.数据的插入、更新和删除⑤实验任务2-5(利用T-sql代码)向courseTest表中添加一条记录,记录信息为:(‘110001’,’数据库系统概论’,4)。

用全表查询方式查看或者刷新资源对象管理器,选择打开表查看。

刷新查看效果⑥实验任务2-6(利用T-sql代码)向courseTest表中添加一条不完全记录,记录信息为:(‘110002’,’Java程序设计’)。

可以不给全部列赋值,但是没有赋值的列必须是可以为空的列。

此时列名和数据必须一一对应。

用全表查询方式查看或者刷新资源对象管理器,选择打开表查看。

(into可省略)刷新查看效果⑦实验任务2-7(利用T-sql代码)对courseTest表中数据进行修改,将课程号是110002的课程的课程名称修改为“web应用系统设计”。

刷新查看效果。

思考批量数据修改时哪种方法更好?⑧实验任务2-8(利用T-sql代码)对courseTest表中数据进行删除,将课程号是110002的课程删除。

用delete语句此操作会记录日志。

刷新查看效果⑨实验任务2-9(利用T-sql代码)对courseTest表中数据全部删除。

注意此时表并未被删除,只是表中数据被删除,结果是空表。

用Truncate语句操作不会记录日志,只记录整个数据页的释放操作,所以比delete要快。

刷新查看效果⑩实验任务2-10(利用SSMS工具)对studentTest表中数据进行以上更新修改删除操作。

对象资源管理器中进行鼠标点击操作。

刷新查看效果。

(图略)4.表的删除⑾实验任务2-11(利用T-sql工具)删除studentTest的基本表。

在代码编辑窗口,输入如下代码,并执行,刷新资源对象管理器中查看删除效果。

⑿实验任务2-12(利用SSMS工具)删除courseTest的基本表。

在左边对象资源管理器中找到courseTest表,右击鼠标选择删除,选项,在弹出的对话框中点击确定即可删除表。

(图略)【拓展知识部分结束,请按照要求完成以下操作(课内未完成的同学请于课后及时完成,以免影响下周实验课的进度)】根据实际问题的需求,学生成绩管理系统数据库(以各自的姓名命名此数据库),设计9张表:创建方式SSMS工具或T-sql自选 (具体表的结构设计如下)表结构设计好之后,向表中输入数据时必须遵循所设置的约束条件,否则服务器将拒绝接受所输入的非法数据。

(录入数据工作等下次实验课完成约束条件后再进行)。

相关文档
最新文档