数据库实验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 语句创建、修改和删除数据库,以及定义基本表的结构。

实验1数据库的创建与管理

实验1数据库的创建与管理

实验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(学号姓名)
××××学院实验报告
系别
班级
学号
姓名
课程名称
数据库原理
实验日期
实验名称
实验1数据库、表的创建与表操作语句练习
成绩
实验目的:
1.认识SQL Server 2008,熟悉SQL Server Configuration Manager、SQL Server Management Studio、联机丛书的界面及操作。
);
/*将“PASCAL语言”的先行课改为Null;*/
update Course
set Cpno=NULL
where Cname='PASCAL语言' ;
/*分析如下update语句为什么不能正确执行,修改它,使其能够执行*/
update Course
set cno=null
where Cname='数学'
SELECT * /*查询student、course和sc表的全部记录*/
FROM Student;
SELECT *
FROM SC;
UPDATE SC /*将“200215122”的“3”号课成绩改为100;*/
SET Grade=100
WHERE Sno='201215122'and Cno='3';
('3','信息系统','1',4);
INSERT
INTO SC(Sno,Cno,Grade)
VALUES
('201215121','1',92),
('201215121','2',85),

数据库原理与应用实验1(二版)1

数据库原理与应用实验1(二版)1

实验一 SQL SERVER 2005的安装与组成一、实验目的及要求本实验主要是要求学生了解Microsoft SQL server 2005安装过程、熟悉SQL Server Management Studio工作界面以及数据库建立。

主要要求有:●了解安装Microsoft SQL server 2005条件及其过程●了解Microsoft SQL server 2005 的结构体系及实例的含义●熟悉SQL Server Management Studio工作环境●熟悉系统数据库的功能●了解数据库文件组成二、实验原理及背景知识(一)SQL server 2005安装环境安装数据库SQL Server 2005有很多软件要求,在安装数据库软件之前,必须准备好这些必要条件,依次按照以下顺序安装相应的内容:1、浏览器软件。

安装Microsoft SQL server 2005之前,需要安装Microsoft Internet 6.0SP1或更高版本。

2、IIS组件的添加:如果Windows服务器没有安装IIS,必须要安装该组件之后,SQL server 2005才能完整安装。

(1)对于Windows 7操作系统,开始”->“控制面板”->程序和功能->打开或关闭Windows功能界面中,添加上Internet信息服务,实现IIS组件的安装,如图2-1-1。

图2-1-1 Windows 7操作系统下加载Internet信息服务界面(2)对于Windows XP操作系统,请从“开始”|“控制面板”|“添加删除程序”|“添加删除Windows组件”进行安装。

如果系统是ghost版本,要下载i386文件或者使用非ghost版本中i386文件。

3、.NET Framework 2.0在安装Microsoft SQL server 2005开始之前,在电脑屏幕给出安装之前必须准备的必要条件信息之前,必须同意终端用户许可协议。

国开(电大)数据库课程实验报告1

国开(电大)数据库课程实验报告1

国开(电大)数据库课程实验报告1实验目的本实验旨在通过实际操作和分析数据库的相关知识,加深对国开(电大)数据库课程的理解和掌握。

实验环境1. 数据库管理系统:MySQL 5.72. 开发环境:MySQL Workbench实验步骤2. 创建一个名为"school"的数据库。

3. 在"school"数据库中创建一个名为"student"的表,并定义以下字段:- 学号(student_id):主键,整型。

- 姓名(name):字符串类型,长度限制为50。

- 性别(gender):字符串类型,长度限制为10。

- 年龄(age):整型。

4. 向"student"表中插入若干条学生记录,包括学号、姓名、性别和年龄。

5. 查询"student"表中所有学生的信息。

6. 查询"student"表中年龄大于等于18岁的学生信息。

7. 更新学号为1001的学生信息,将其姓名修改为"张三",年龄修改为20岁。

8. 删除学号为1002的学生记录。

9. 查询"student"表中的所有学生信息,并按照学号升序排列。

实验结果及分析1. 成功创建了名为"school"的数据库。

2. 成功创建了名为"student"的表。

3. 成功插入了若干学生记录。

4. 成功查询了学生表中的所有学生信息。

5. 成功查询了年龄大于等于18岁的学生信息。

6. 成功更新了学号为1001的学生信息。

7. 成功删除了学号为1002的学生记录。

8. 成功按学号升序排列了学生信息。

实验总结通过本次实验,加深对数据库管理系统的理解和熟练使用。

通过实际操作,研究了如何创建数据库和表,以及进行常见的查询、更新和删除操作。

此外,还学会了使用排序功能对查询结果进行排序。

数据库实验报告全

数据库实验报告全

数据库实验报告全实验⼀实验⽬的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三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。

它允许用户创建,读取,更新和删除数据库中的数据。

常见的数据库管理系统有MySQL,Oracle,SQL Server等。

问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。

以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。

2. 运行安装程序,按照向导的指示进行安装。

3. 选择是否要安装MySQL 服务器和MySQL工具。

4. 设置密码以保护数据库的安全。

5. 完成安装程序并启动MySQL服务。

数据库是一个组织和存储数据的容器。

在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。

每行代表一个记录,每列代表一个字段。

问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。

常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。

问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。

ODBC驱动程序充当应用程序和数据库之间的翻译器。

问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。

在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。

在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。

具体步骤如下: 1. 加载ODBC接口库。

2. 初始化ODBC环境。

3. 建立数据库连接。

4. 执行SQL语句。

5. 关闭数据库连接。

6. 释放ODBC环境。

问题九ODBC接口库是一组API函数,用于连接和操作数据库。

数据库实验报告1

数据库实验报告1
3.按系部统计各系的最少报名人数、最多报名人数、平均报名人数和报名总数,并汇总显示所有系部的报名总数。要求平均报名人数保留两位小数位。
4.学号为00000025”"的学生第一志愿报名选修“001”课程,请在数据库中进行处理。
5.删除学号为“00000025”的学生的选课报名信息。
6.将“00多媒体”班的“杜晓静”的名字修改为“杜小静”。
Join与union两个关键字的作用是什么?有什么区别。
写出用Insert关键字插入数据的方法。
写出用update和delete关键字修改数据的格式。
实验目的
熟悉SQL Server Management Studio平台环境。
掌握使用SELECT语句查询数据的方法
掌握按需要重新排序查询结果的方法
掌握分组或统计查询结果的方法。
10.统计各个系部的班级数,要求显示系部编号、系部名称和班级数量。
第二次实验内容:复杂查询及管理数据
1.查看“甘蕾”选修的课程名、学分、上课时间、志愿号,并按志愿号(开序)排序查询结果。
2.查看“00电子商务”班级的选修课报名情况。要求显示学号、姓名、课程编号、课程名称、志愿号,并按学号(升序)、志愿号排序(升序)排序。
3.查看系部编号为“03”的系部名称。
4.查看系部名称中包含“工程”两个字的系的全名。
5.显示共有多少个系部。
6.显示“01”年级共有多少个班级。
7.查看在“周二晚”上课的课程名称和教师。
8.查看姓“张”、“陈”、“黄”的学生基本信息,要求按照姓名降序排序查询结果。
9.按系部统计课程的平均报名人数,要求显示系部名称、平均报名人数。
实验一数据库的数据管理操作
实验说明
实验项目名称:数据库的数据管理操作
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库原理》实验班级:学号:姓名:实验1 建立基本表和数据完整性实验目的:1. 掌握表(关系)和索引的建立方法;2. 掌握表结构(关系模式)的修改方法;3. 实践DBMS提供的数据完整性功能,加深对数据完整性的理解。

实验内容:1. 在studentdb数据库中利用查询分析器创建以下3个表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性):student(学生信息表):course(课程表):实验代码:create database studentdbuse studentdbgocreate table student(sno char(10)not null primary key,--学号sname char(10)not null,--姓名ssex char(2)null,--性别sage smallint null check(sage>=12),--年龄sdept char(15),--系名)create table course(cno Char(2)not null primary key,--课程号cname Char(20)null,-- 课程名称cpno Char(2)null,--先行课号ccredit smallint null,--学分)create table sc (sno char(10)not NULL,--学号cno char(2)not NULL,--课程号grade Decimal(5,1)NULL check(grade>=0 AND grade<=100 ),--成绩primary key(sno , cno),/* 主码由两个属性构成,必须作为表级完整性进行定义*/foreign key(sno)references student (sno),/* 表级完整性约束条件,sno是外码,被参照表是student */foreign key(cno)references course (cno),/* 表级完整性约束条件,cno是外码,被参照表是course */)go2. 在spjdb数据库中利用查询分析器创建以下4个表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性):S(供应商信息表):实验代码:create database spjdbuse spjdbgocreate table S (sno char(2)NOT NULL primary key,--供应商号sname char(10)NOT NULL,--供应商名称status smallint NULL CHECK( status>0),--供应商状态city char(10)NULL,--所在城市)create table P (pno char(2)NOT NULL primary key,--零件号pname char(10)NOT NULL,--零件名称color char(2)NULL,--颜色weight smallint NULL CHECK(weight>0),--重量)create table J (jno char(2)NOT NULL PRIMARY KEY,--工程项目号jname char(10)NOT NULL,--工程项目名称city char(10)NULL,--所在城市)create table SPJ (sno Char(2)NOT NULL,--供应商号pno Char(2)NOT NULL,--零件号jno Char(2)NOT NULL,--工程项目号qty smallint NULL CHECK(qty>0),--供应数量primary key(sno,pno,jno),foreign key(sno)references S (sno),/* 表级完整性约束条件,sno是外码,被参照表是S */foreign key(pno)references P (pno),/* 表级完整性约束条件,pno是外码,被参照表是P */foreign key(jno)references J (jno),/* 表级完整性约束条件,jno是外码,被参照表是J */)3.修改表结构,具体要求如下:(1) 将表course的cname列的数据类型改为varchar(40)。

alter table coursealter column cname varchar(40);(2) 为表student增加一个新列: birthday(出生日期), 类型为datetime, 默认为空值。

alter table studentadd birthday datetime default null;4.分别建立以下索引(如果不能成功建立,请分析原因)(1) 在student表的sname列上建立普通降序索引。

create index sname on student(sname desc);(2) 在course表的cname列上建立唯一索引。

create unique index cname on course(cname);(3) 在sc表的sno列上建立聚簇索引。

create CLUSTERED index sc on sc(sno)//不成功,系统默认给主键分配了一个聚簇索引(4) 在SPJ表的sno(升序), pno(升序)和jno(降序)三列上建立一个普通索引。

create index spj on spj(sno asc,pno asc,jno desc);实验2 SQL数据操作实验目的:1. 向实验1建立的表中添加数据(元组),掌握INSERT语句的用法;2. 修改基本表中的数据,掌握UPDATE语句的用法;3. 删除基本表中的数据,掌握DELETE语句的用法;4. 体会数据完整性约束的作用,加深对数据完整性及其约束的理解。

实验内容:1.将教材P82表中的数据添加到数据库studentdb中。

use studentdbgoINSERT into student (sno,sname,ssex,sage,sdept)values(200215121,'李勇','男',20,'CS'); INSERT into student (sno,sname,ssex,sage,sdept)values(200215122,'刘晨','女',19,'CS'); INSERT into student (sno,sname,ssex,sage,sdept)values(200215123,'王敏','女',18,'MA'); INSERT into student (sno,sname,ssex,sage,sdept)values(200215125,'张立','男',29,'IS');use studentdbgoINSERT into course (cno,cname,cpno,ccredit)values(1,'数据库',5,4);INSERT into course (cno,cname,cpno,ccredit)values(2,'数学',null,2);INSERT into course (cno,cname,cpno,ccredit)values(3,'信息系统',1,4);INSERT into course (cno,cname,cpno,ccredit)values(4,'操作系统',6,3);INSERT into course (cno,cname,cpno,ccredit)values(5,'数据结构',7,4);INSERT into course (cno,cname,cpno,ccredit)values(6,'数据处理',null,2);INSERT into course (cno,cname,cpno,ccredit)values(7,'PASCAL语言',6,4);use studentdbgoINSERT into sc (sno,cno,grade)values(200215121,1,92);INSERT into sc (sno,cno,grade)values(200215121,2,85);INSERT into sc (sno,cno,grade)values(200215121,3,88);INSERT into sc (sno,cno,grade)values(200215122,2,90);INSERT into sc (sno,cno,grade)values(200215122,3,80);2.将教材P75表中的数据添加到数据库spjdb中,体会执行插入操作时检查实体完整性规则、参照完整性规则和用户定义完整性规则的效果。

use spjdbgoinsert into S (SNO,SNAME,STA TUS,CITY)V ALUES('S1','精益',20,'天津');insert into S (SNO,SNAME,STA TUS,CITY)V ALUES('S2','盛锡',10,'北京');insert into S (SNO,SNAME,STA TUS,CITY)V ALUES('S3','东方红',30,'北京');insert into S (SNO,SNAME,STA TUS,CITY)V ALUES('S4','丰泰盛',20,'天津');insert into S (SNO,SNAME,STA TUS,CITY)V ALUES('S5','为民',30,'上海');use spjdbgoinsert into P (PNO,PNAME,COLOR,WEIGHT)V ALUES('P1','螺母','红',12);insert into P (PNO,PNAME,COLOR,WEIGHT)V ALUES('P2','螺栓','绿',17);insert into P (PNO,PNAME,COLOR,WEIGHT)V ALUES('P3','螺丝刀','蓝',14);insert into P (PNO,PNAME,COLOR,WEIGHT)V ALUES('P4','螺丝刀','红',14);insert into P (PNO,PNAME,COLOR,WEIGHT)V ALUES('P5','凸轮','蓝',40);insert into P (PNO,PNAME,COLOR,WEIGHT)V ALUES('P6','齿轮','红',30);use spjdbgoinsert into J (jno,jname,city)values('J1','三建','北京');insert into J (jno,jname,city)values('J2','一汽','长春');insert into J (jno,jname,city)values('J3','弹簧厂','天津');insert into J (jno,jname,city)values('J4','造船厂','天津');insert into J (jno,jname,city)values('J5','机车厂','唐山');insert into J (jno,jname,city)values('J6','无线电厂','常州');insert into J (jno,jname,city)values('J7','半导体厂','南京');use spjdbgoinsert into SPJ (sno,pno,jno,qty)values('S1','P1','J1',200);insert into SPJ (sno,pno,jno,qty)values('S1','P1','J3',100);insert into SPJ (sno,pno,jno,qty)values('S1','P1','J4',700);insert into SPJ (sno,pno,jno,qty)values('S1','P2','J2',100);insert into SPJ (sno,pno,jno,qty)values('S2','P3','J1',400);insert into SPJ (sno,pno,jno,qty)values('S2','P3','J2',200);insert into SPJ (sno,pno,jno,qty)values('S2','P3','J4',500);insert into SPJ (sno,pno,jno,qty)values('S2','P3','J5',400);insert into SPJ (sno,pno,jno,qty)values('S2','P5','J1',400);insert into SPJ (sno,pno,jno,qty)values('S2','P5','J2',100);insert into SPJ (sno,pno,jno,qty)values('S3','P1','J1',200);insert into SPJ (sno,pno,jno,qty)values('S3','P3','J1',200);insert into SPJ (sno,pno,jno,qty)values('S4','P5','J1',100);insert into SPJ (sno,pno,jno,qty)values('S4','P6','J3',300);insert into SPJ (sno,pno,jno,qty)values('S4','P6','J4',200);insert into SPJ (sno,pno,jno,qty)values('S5','P2','J4',100);insert into SPJ (sno,pno,jno,qty)values('S5','P3','J1',200);insert into SPJ (sno,pno,jno,qty)values('S5','P6','J2',200);insert into SPJ (sno,pno,jno,qty)values('S5','P6','J4',500);(1)实体完整性规则use spjdbgoinsert into S (SNO,SNAME,STA TUS,CITY)V ALUES('S1','WWW',20,'WWW'); //S1重复(2)参照完整性规则use spjdbgoinsert into SPJ (sno,pno,jno,qty)values('S7','P6','J4',500); //S表里没有S7这条记录(3)用户定义完整性规则use spjdbgoinsert into P (PNO,PNAME,COLOR,WEIGHT)V ALUES('P7','齿轮','红',-30); //weight小于03.设计几个删除操作(3~5个),体会执行删除操作时检查参照完整性规则的效果。

相关文档
最新文档