数据库实验1
- 格式:doc
- 大小:39.00 KB
- 文档页数:1
实验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 语句创建、修改和删除数据库,以及定义基本表的结构。
《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。
本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用SQL语言创建数据库表格和定义表格的各项属性。
1. 数据库的定义意义数据库是指存储数据的集合,它是一个有组织的数据集合,可以提供查询、存储和管理数据的功能。
数据库的定义是建立数据库的结构和特性,包括数据表的定义、数据类型的定义以及数据表之间的关系定义。
数据库的定义可以规范化和统一数据存储结构,提高数据的存储效率和管理方便性。
2. 数据库的基本概念和术语在数据库的定义过程中,需要了解一些基本概念和术语:(1) 数据表:数据表是数据库的一个基本单位,它由多个数据行和数据列组成,用于存储和表示数据。
(2) 数据类型:数据类型定义了数据的存储格式和表达方式,常见的数据类型有整数、浮点数、字符型、布尔型等。
(3) 主键:主键是数据表中的一列或者一组列,其值用来唯一标识数据表中的每一行,主键的值不能重复。
(4) 外键:外键是数据表之间的关系表达,它是一个指向其他数据表主键的列,用于建立数据表之间的联系。
(5) 索引:索引是一种提高数据检索效率的数据结构,它可以加快数据的查询速度。
3. 使用SQL语言创建数据库表格在实验过程中,我们将使用SQL语言来创建数据库表格。
SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于操作和管理数据库的标准语言。
SQL语言的创建表格语句包括以下几个关键字和语法:(1) CREATE TABLE:用于创建数据库表格。
(2) 表名:指定创建的表格的名称。
(3) 列名和数据类型:指定表格中的各列名称和数据类型。
(4) 主键:指定表格中的主键。
(5) 外键:指定表格中的外键。
4. 定义表格的各项属性在使用SQL语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。
实验1 数据库的创建与管理1.1 实验目的(1)掌握开发环境的基本功能和使用方法。
(2)掌握数据库的建立方法。
(3)掌握图形界面下的数据表设计方法。
(4)掌握数据表记录的“增删改查”方法。
(5)掌握数据库的导入导出方法。
1.2 实验内容与步骤1.2.1 建立数据库启动MS SQL SERVER 2005,并建立学生管理数据库,文件名为学生自己姓名首字母的缩写,如张大千同学缩写为ZDQ。
设置库的大小50M,日志文件大小25M的新数据库。
1.2.2数据表的设计参照教材P50页的要求逻辑设计表,为自己实现以下3个表:学生表:Student(Sno, Sname, Ssex, Sage, Sdept);课程表:Course(Cno, Cname, Credit, Semester);学生选课表:SC(Sno, Cno, Grade)设计要求:(1) 定义关系模式(包括表名,属性名,属性类型及长度);(2) 定义表的主码及外码。
1.2.3 数据表记录的“增删改查”操作至少输入学生记录10条、系别4个、课程10个,便于后续实验的数据操纵、视图设计和数据控制处理。
数据库还原:数据库备份:实验2 数据操纵 2.1 实验目的(1)掌握SQL语言中数据查询和数据更新的语句(2)掌握SQL语言中数据更新的语句(3)掌握使用SQL语句进行视图的定义的方法2.2 实验步骤2.2.1使用SQL语句完成数据查询完成教材第五章例1到例82的例题题目选出40个进行实验,并把相应的命令语句写入实验报告。
对例45、例51(两种方法(自连接、子查询))以及外连接的操作在实验报告中给出运行结果。
2.2.2 使用SQL语句完成数据更新完成教材第五章5.2节的例题中的40个,并把相应的命令语句写入实验报告并给出运行结果。
1.SELECT Sname,Sage FROM StudentSELECT Sname,Sno,Sdept FROM StudentSELECT * FROM StudentSELECT Sname,2014-Sage FROM StudentSELECT Sname,Sage FROM StudentWHERE Sage<216.SELECTStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC. Grade FROM Student INNER JOIN SCON Student .Sno=SC.SnoSELECT Sname,Sdept,Sage FROM StudentWHERE Sage BETWEEN 20 AND 23SELECT Sname,Ssex FROM StudentWHERE Sdept IN('xinxi','tongxin','shuxue')SELECT*FROM StudentWHERE Sname LIKE'a%'SELECT*FROM StudentWHERE Sname LIKE'[abc]%'11.SELECT*FROM StudentWHERE Sname LIKE'_[1]%'SELECT*FROM StudentWHERE Sname NOT LIKE'[ab]%'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Student.Sno NOT IN(SELECT Sno FROM SCWHERE Cno ='a001')SELECT DISTINCT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Student.Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Sname,Sdept,Grade AS'tiyu'FROM Student JOIN SC ONStudent.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='tiyu'AND Grade >(SELECT AVG(Grade)FROM SC JOIN Course ON o=oWHERE Cname='tiyu')16.SELECT Sname,Sdept FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'SELECT Sno,AVG(Grade)FROM SCGROUP BY SnoHAVING AVG(Grade)>(SELECT AVG(Grade)FROM SC)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROMStudent JOIN SC ON Student.Sno=SC.SnoSELECT Sname,Sage FROM StudentWHERE Sdept ='shuxue'AND Sage=(SELECT MAX(Sage)FROM Student)SELECT Sno,Grade FROM SCWHERE Cno ='100'AND Grade>(SELECT AVG(Grade)FROM SC)21.SELECT COUNT(*)'选课门数',AVG(Grade)'平均成绩'FROM SCWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname='shujuku')GROUP BY SnoSELECT Sno,Sname FROM StudentWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname ='shujuku')SELECT Sname,Ssex FROM StudentWHERE Sdept ='xinxi'AND Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Student.Sno,Sname FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Grade >=90SELECT*FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'26.SELECT TOP 2 WITH TIES Cno,COUNT(*)'人数'FROM SCGROUP BY CnoORDER BY COUNT(*)ASCSELECT TOP 3 WITH TIES Sname,Sdept,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='shujuku'ORDER BY Grade DESCSELECT TOP 3 WITH TIES Sname,Sage,Sdept FROM StudentORDER BY Sage DESCSELECT COUNT(*)FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(*)DESCSELECT Student.Sno,COUNT(o)FROM Student LEFT JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(o)DESC31. SELECT Sname,Ssex FROM Student LEFT JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'AND Cno IS NULLSELECT Cname FROM SC RIGHT JOIN Course ON o=oWHERE Sno IS NULLSELECT Student.Sno,Sname,o,Grade FROM SC RIGHT JOIN Student ON SC.Sno=Student.SnoSELECT Cname,Credit FROM CourseWHERE Credit =(SELECT Credit From CourseWHERE Cname ='gaoshu')AND Cname !='gaoshu'SELECT Sdept,AVG(Grade)FROM SC JOIN Student ON SC.Sno=Student.Sno GROUP BY Sdept36. SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'AND Sdept ='xinxi'SELECT Sname,Cno,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'SELECT Sdept,COUNT(*)FROM StudentWHERE Sage <=20GROUP BY Sdept40.SELECT Sno,COUNT(*)FROM SCGROUP BY SnoHAVING COUNT(*)>=2。
补充作业及实验一1填空题(1)假设表中某列的数据类型为varchar(100) ,而输入的字符串为“ahng3456”,则存储的字节是__8______。
(2)SQL Server 2000局部变量名字必须以_____@____开头,而全局变量名字必须以______@@___开头。
(3)在SQL Server 2000中,字符串常量由____单引号_____引起来,日期型常量由___单引号______引起来。
(4)在SQL Server 2000中,货币型常量由_____$____前缀引导,双字节字符串型常量由_________前缀引导,二进制型常量由____0x_____前缀引导。
(5)语句 select floor(17.4), floor(-214.2), round(13.4382,2), round(-18.4562,3)的执行结果是: ____17_____、____-215_____、___13______和___-18.456______。
(6)语句select ascii('B'), char(67), len(' 你是tiger ') 的执行结果是: ___66______、____67_____和_________。
(7)语句select upper('beautiful') , lower('BEAUtiful') 的执行结果是:___BEAUTIFUL_________和_______beautiful____。
BEAUTIFUL, beautiful(8)语句select reverse(6789), select reverse('你是狼') 的执行结果是: ____9876________和___狼是你________。
(9)语句 select ltrim (' 我心中的太阳'), rtrim ('我心中的白马王子 ') 的执行结果是: _______我心中的太阳___________和________我心中的白马王子____________。
《数据库系统原理》实验指导书索剑2007-11实验1:数据库模式设计及建立(2学时)实验目的:1.掌握数据库模式设计及建立的方法,建立数据库及关系2.比较SQL命令方式和可视化环境管理器方式设计的异同点3.熟悉 SQL SERVER 的企业管理器和查询分析器实验类型:验证实验内容:1.在SQL Server环境中建立“学生-课程”数据库2.使用SQL语言及可视化环境建立“学生-课程”数据库中的表3.观察“学生-课程”数据库的E-R图、逻辑模式以及文件存储之间的联系操作步骤:1.描述教材P59中所叙述的“学生-课程”数据库概念模式2.仔细分析“学生-课程”数据库关系逻辑模式(尤其是实体完整性、参照完整性规则)Student(学生表):Sno Sname Ssex Sage Sdept95001 李勇男20 CS95002 刘晨女19 IS95003 王敏女18 MA95004 张立男18 IS95005 王强男17 IS95015 张三男20 CS95019 李四男20 CS95020 陈冬男18 ISCourse(课程表):Cno Cname Cpno Ccredit1 数据库 5 42 数学 23 信息系统 1 44 操作系统 6 35 数据结构7 46 数据处理 27 Pascal语言6 4SC(选修表):Sno Cno Grade95001 1 6595001 2 8895001 3 5795001 4 7995001 5 4595001 6 9095001 7 8195002 2 9095002 3 8095002 4 5595003 2 095019 2 6695020 13.熟悉SQL SERVER的企业管理器和查询分析器4.在企业管理器可视化环境下创建“学生-课程”数据库,仔细观察物理模式的形成过程5.在可视化环境下建立如上所述关系模式,建立相应的实体、参照完整性,添加关系数据,仔细观察逻辑模式的形成过程6.启动“查询分析器”,编制SQL语言再次实现上述过程。
实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。
实验内容:具体包括如下三部分。
一、熟悉上机环境。
客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。
具体包括:1.了解SQL Server 环境。
鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。
点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。
因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。
2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。
如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。
3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。
二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。
1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。
数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。
4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。
实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。
2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。
3)⽤T-SQL语句删除数据库CPXS_bak。
2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。
3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。
6.将CP表中每种商品的价格打8折。
7.将CP表中价格打9折后⼩于1500的商品删除。
⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。
)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
实验一数据库及表的创建与修改一、实验目的1、熟练掌握利用SSMS中的设计工具来创建数据库的办法。
2、了解利用T-SQL语句创建数据库的办法。
3、熟练掌握利用SSMS中的设计工具来创建表、修改表结构以及查看表属性等操作。
4、熟悉T-SQL的数据定义语言,能够熟练地使用SQL语句创建和修改基本表。
二、实验内容1、利用SSMS中的设计工具创建图书管理系统数据库LibraryLib,其中数据库参数均为默认值。
2、使用T-SQL命令创建数据库LibraryLib。
3、利用SSMS中的设计工具为数据库LibraryLib创建表1-6所示的Publish(出版社信息表)和表1-5所示的BookClass(图书类别表)。
4、利用T-SQL创建新表1-10与1-8。
5、numeric(15,2);删除Remarks字段;增加新字段Descript(varchar,70)。
6、利用T-SQL语句:删除BookClass(图书类别表),并重新创建该表。
7、在SSMS中查看Book(图书信息表)的属性。
三、实验步骤1、利用SSMS中的设计工具创建图书管理系统数据库LibraryLib,实现步骤如下:(1)打开SSMS→连接服务器→对象资源管理器界面→右击“数据库”→选择“新建数据库”命令(2)在“常规”选项卡中设置相关选项●输入LibraryLib作为数据库名称,该数据库数据文件默认也是LibraryLib。
●其他设置默认。
(3)单击“确定”按钮,完成创建过程。
2、使用T-SQL的CREATE DATABASE命令创建数据库LibraryLib,步骤如下:(1)打开SSMS→右击“数据库”→选择“新建查询”命令→查询分析器窗口(2)在查询分析器窗口键入以下的T-SQL语句,并进行分析运行。
3、利用SSMS中的设计工具为数据库LibraryLib创建表Publish(出版社信息表)和表BookClass(图书类别表)的步骤如下:“对象资源管理器”→展开“数据库”节点→展开数据库“LibraryLib”节点→右击“表”节点→选择“新建表”命令→在“表设计器”界面进行表设计创建表Publish截图:创建表BookClass截图:4、利用T-SQL创建表ExtraDateFee(超期罚款信息表)和表Borrow(借出图书信息表):设计表ExtraDateFee(超期罚款信息表),可以采用以下T-SQL语句:设计表Borrow(借出图书信息表),可以采用以下T-SQL语句:5、修改表ExtraDateFee(超期罚款信息表),使用T-SQL语句实现,操作截图如下:6、利用T-SQL语句删除BookClass(图书类别表),操作截图如下:采用T-SQL语句重新创建该表,操作截图如下:7、在SSMS中查看Book(图书信息表)的属性,操作步骤如下:展开Book表节点→右击Book表→选择“属性”命令→看到“表属性”对话框→查看“常规”、“权限”、“扩展属性”四、实验心得此次试验是《数据库原理及应用》的第一次实验,内容相对来说是比较简单的,但由于一开始对SQL Serve软件的操作不熟悉,以至在实验的过程中,出现了很多的问题。
《数据库原理与应用》实验报告实验一、定义数据库和表一、实验环境Windows 2003 Server、SQL Server 2008二、实验目的掌握使用企业管理器提供的图形化交互窗口创建、修改数据库、表结构与整性约束、建立索引,掌握创建、修改数据库、表结构与整性约束的SQL语句。
掌握使用企业管理器提供的图形化交互窗口输入、修改和删除表中的记录,掌握输入、修改和删除表中的记录的SQL语句。
三、实验方法(1)利用资源管理器在D盘上建立“学号姓名DB”命名的文件夹,以便保存数据库。
按设计好数据库和表结构创建数据库与表结构的SQL语句完成数据库与表的建立,以及记录的操作。
(2)利用SQL Server 200X DBMS的交互式界面窗口练习建立数据库SDB1与Dept1、T1、S1、C1、SC1表,以及记录的操作。
四、具体操作及结论分析1.建立数据库SBD的SQL语句Create database sdbon primary(name=sdb_data,filename='D:\xxxDB\xxx.mdf',size=100MB,maxsize=200MB,filegrowth=20MB)log on(name=sdb_log,filename='D:\xxxDB\xxx.ldf',size=50MB,maxsize=100MB,filegrowth=10MB)USE sdb1.建立表Dept、T、S、C、SC的SQL语句create table dept(dno char(2) primary key,dname varchar(30) unique not null,dean char(10),adddress varchar(40))create table t(tno char(4) primary key,dno char(2) references dept(dno),tn varchar(10) not null,sex char(2) check(sex='男' or sex='女'),title char(10) check(title in('教授','副教授','讲师')))create table s(sno char(4) primary key,sn varchar(10),sex char(2) check(sex='男' or sex='女'),age int check(age>=17 and age<=25),dno char(2) references dept(dno),bp varchar(20))create table c(cno char(2) primary key,cn char(10),period int not null,tno char(4) references t(tno),class char(20) check(class in('公共基础','专业基础','专业课','专业选修')))create table sc(sno char(4) references s(sno),cno char(2) references c(cno),grade int not null check(grade between 0 and 100),primary key(sno,cno))2.修改教师表T的SQL语句(给表T增加一个字段:PHON,并定义合适的数据类型)alter table t add phon varchar(10);3.分别给出Dept、T、S、C、SC三个表,每个表插入2条记录的SQL语句insert into dept values('01','外语学院','史宝辉','教5011');insert into dept values('02','工学院','俞国辉','森801');insert into t values('0101','01','李健','男','教授');insert into t values('0202','02','张青','女','教授');insert into s values('0101','李成占','男','19','01','河南');insert into s values('0202','马驰','男','18','01','辽宁');insert into c values('01','数学','80','0101','公共基础');insert into c values('02','英语','120','0101','公共基础');insert into sc values('0101','01','80');insert into sc values('0101','02','85');4.给出一条修改SC表记录的SQL语句update sc set grade=0 where sno='0101' and cno='02';5.给出一条删除C表中一条记录的SQL语句delete from sc where cno='02';delete from c where cno='02';7.讨论回答下面问题(1)建立表的顺序有要求吗?为什么?有要求,因为表与表之间有参照完整性约束关系,所以得先建立被参照的表,即充当主键的表,后建其它表,即作为外建的表。
数据库实验1:SQL查询操作题目:设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY)。
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成。
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成。
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成。
工程项目表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。
今有若干数据如下:S表:SNO SNAME STATUS CITYS1 精益20 天津S2 盛锡10 北京S3 东方红30 北京S4 丰盛泰20 天津S5 为民30 上海P表:PNO PNAME COLOR WEIGHTP1 螺母红12P2 螺栓绿17P3 螺丝刀蓝14P4 螺丝刀红14P5 凸轮蓝40P6 齿轮红30J表:JNO JNAME CITY J1 三建北京J2 一汽长春J3 弹簧厂天津J4 造船厂天津J5 机车厂唐山J6 无线电厂常州J7 半导体厂南京SPJ表:SNO PNO JNO QTY S1 P1 J1 200S1 P1 J3 100S1 P1 J4 700S1 P2 J2 100S2 P3 J1 400S2 P3 J2 200S2 P3 J4 500S2 P3 J5 400S2 P5 J1 400S2 P5 J2 100S3 P1 J1 200S3 P3 J1 200S4 P5 J1 100S4 P6 J3 300S4 P6 J4 200S5 P2 J4 100S5 P3 J1 200S5 P6 J2 200S5 P6 J4 500首先进行创建数据库、表,插入数据等操作。
教务处制
第1页,共1页 苏州大学实验报告
院、系
计算机学院 年级专业 姓名 学号 课程名称
数据库原理 成绩 指导教师
同组实验者 无 实验日期 实 验 名 称 实验一 数据库操作
一. 实验目的
1. 熟悉DBMS 的环境;
2. 掌握图形化和SQL 语句两种方法创建数据库;
3. 掌握分离和附加数据库的操作。
二. 实验内容
1. 熟悉服务器的启动、暂停、和停止操作;
2. 熟悉Management Studio 的工作环境;
3. 图形化创建数据库:
3.1:用图形化界面创建Myfirstdb 数据库,要求主数据库文件为20MB ,最大大小是100M ,每次增长5MB ;事务日志文件为20MB ,最大大小是100M ,每次增长20MB 。
3.2:创建用户文件组:usergroup ;
3.3:为Myfirstdb 数据库添加一个次要数据文件Myfirstdb_dat2,大小为10MB ,最大大小不受限制,将该文件添加到usergroup 文件组中;
3.4: 查看创建Myfirstdb 的SQL 语句,将其复制在实验报告上;
4、用SQL 语句完创建grade 数据库; (注意记下数据库文件的位置)
5、删除Myfirstdb 数据库的usergroup 文件组应该如何操作?试用SQL 语句实现。
6、用SQL 语句删除Myfirstdb 数据库。
7、分离4所建的数据库,找到其所对应的数据库文件,拷到U 盘上。
下次实验时将其附加。
三. 实验步骤和结果(将完成的SQL 语句粘贴于此)
四. 思考题:
1. 简述组成SQL Server2005数据库的3种类型的文件。
五. 实验总结(分析一下上机结果与选择的答案之间一致或不一致的原因)。