数据库实验三作业及答案

数据库实验三作业及答案
数据库实验三作业及答案

实验3 SQL Server 数据表的管理

一、实验目的

1.学会使用企业管理器和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和

修改表。

2.学会在企业管理器中对表进行插入、修改和删除数据操作。

3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。

4.了解SQL Server的常用数据类型。

二、实验准备

1.了解在企业管理器中实现表数据的操作,如插入、修改和删除等。

2.掌握用Transact-SQL语句对表数据进行插入(INSERT)、修改(UPDATE)和删

除(DELETE和TRANCATE TABLE)操作。

三、实验内容及步骤

1.启动企业管理器,展开studentsdb数据库文件夹。

2.在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些

表的数据结构如图1-2、图1-3和图1-4所示。

图1-2 学生基本情况表student_info

图1-3 课程信息表curriculum

图1-4 学生成绩表grade

3.在企业管理器中创建student_info、curriculum表。

4.在企业管理器中,将student_info表的学号列设置为主键,非空。

5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。CREATETABLE grade

(学号varchar(4),

课程编号varchar(4),

分数decimal(5,0)

)

6.student_info、curriculum、grade表中的数据如图1-5、图1-6和图1-7所示。

图1-5 student_info的数据

图1-6 curriculum的数据

图1-7 grade的数据

7.在企业管理器中为student_info、curriculum、grade表添加数据。

8.使用Transact_SQL语句INSERT INTO...VALUES向studentsdb数据库的grade

表插入以下数据:

学号课程编号分数

0004 0001 80

答; CREATE TABLE grade

(学号 char(4),

课程编号 char(4),

分数 decimal

)

INSERT INTO grade VALUES('0004','0001','80')

9.使用Transact_SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使

之为非空。

答: ALTER TABLE curriculum

ALTER COLUMN 课程编号 char(4) NOT NULL

10.使用Transact_SQL语句ALTER TABLE修改grade表的“分数”列,使其数据类型为real。

答: ALTER COLUMN 分数 real

11.使用Transact_SQL语句ALTER TABLE修改student_info表的“姓名”列,使其列名为

“学生姓名”,数据类型为archar(10),非空。

答:ALTER TABLE student_info

ALTER COLUMN 姓名学生姓名

ALTER TABLE student_info

ALTER COLUMN 学生姓名 varchar(10) NOT NULL

12.分别使用企业管理器和Transact_SQL语句DELETE删除studentsdb数据库的grade表中学号为'0004'的成绩记录。

答:DELETE grade WHERE 学号='0004'

13.使用Transact_SQL语句UPDATE修改studentsdb数据库的grade表中学号为

'0003'、课程编号为'0005'、分数为90的成绩记录。

答:UPDATE grade SET 分数=90

WHERE 学号='0003' and 课程编号='0005'

14.使用Transact_SQL语句ALTER...ADD为studentsdb数据库的grade表添加一个

名为“备注”的数据列,其数据类型为VARCHAR(20)。

答:ALTER TABLE grade ADD 备注 VARCHAR(20) NULL

15.分别使用企业管理器和Transact_SQL语句DROP TABLE删除studentsdb数据库

中的grade表。

答: DROP TABLE grade

四、实验思考

1.使用Transact-SQL语句删除在studentsdb数据库的grade表添加的“备注”数据列。

DELETE FROM grade Where 学号='0004'

UPDATE grade SET 分数=90 WHERE 学号='0003' and 课程编号='0005'

ALTER TABLE grade ADD 备注 VARCHAR(20) NOT NULL

2.在企业管理器中,studentsdb数据库的student_info表的数据输入时,如果输入相同学号的记录将出现什么现象?怎样避免该情况的发生?

答:出现红色的感叹号。将数据一行一行的输入就可以避免。

数据库实验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表结构 表2. Course表结构

表3. SC表结构 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)创建员工表Employee

实验一数据库定义实验

实验一数据库定义实验 一、实验目的 使用SQL Server Management Studio、T-SQL语句创建和管理数据库,学会使用SQL Server查询分析器接收 T-SQL语句和进行结果分析。使用T-SQL语句进行数据表的创建和删除,并对数据表和表中的数据进行有效有管理。 二、实验环境 实验室名称:11#208 软件环境:操作系统:windows 10;SQL 2008 硬件环境:安装内存(RAM):可用) 处理器:Intel(R) Core(TM) i5-5200U CPU @ 硬盘:250GB-SSD 500GB-HDD 三、实验内容 1.用SQL Server Management Studio创建、修改数据库 2.用T-SQL语句创建、修改数据库 3.用SQL Server Management Studio创建、修改数据表 4.用T-SQL语句创建、修改数据表

四、实验步骤及实验结果分析 (一)、创建、修改数据库 1.用SQL Server Management Studio创建步骤: (1)、单击“开始”菜单选择“所有程序”->Microsoft SQL Server 2008->SQL Server Management Studio (2)、单击“视图”->”对象资源管理器”->右击“数据库”->选择“新建 数据库”命令 (3)、在“数据库名称”文本框中输入新建数据库的名称,本例输入“JXGL” (4)、在“新建数据库”的对话框里设置“常规”、“选项”、“文件组” 2.用SQL Server Management Studio修改数据库步骤: (1)、在“对象资源管理器”窗口右击要修改大小的数据库,选择“属性”弹 出属性对话框 (2)、在属性对话框中的“常规”、“文件”、“文件组”、“选项”、“更改跟踪”、 “权限”、“扩展属性”、“镜像”、“事务日志传送”修改数据库的相关信息 3.用SQL Server Management Studio删除数据库 右击要删除的数据库,在弹出的菜单中选择删除命令在弹出的“删除对象” 的对话框中,单击“确定”按钮 4.用T-SQL语句创建数据库: (1)、打开SSMS窗口,并连接到服务器 (2)、依次选择“文件”->”新建”->“数据库引擎查询”命令或者单击标 准工具栏的“新建查询”按钮,创建一个查询输入窗口 (3)、在窗口中输入以下create database 语句:

数据库实验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 客户端连接上。 可以通过服务管理器来进行启动。

大一数据库实验一详解及答案

实验一熟悉数据库管理系统环境 一、实验目的: 1.了解SQL Server2008的基本安装和配置。 2.掌握SQL Server2008常用工具的基本操作方法。 3.了解SQL SERVER2008数据库及其表对象的建立方法。 二、实验内容和主要步骤: 4.参照相关文档进行SQL Server 2008的安装和配置; 5.打开SQL Server 2008 SSMS工具,进行简单操作; 6.在SQL Server 2008 SSMS工具的目录树中展开数据库文件夹,新建一个test数据库, 然后展开test数据库图标,则列出数据库的所有对象; 7.选中test下的“表”图标,则列出数据库的所有表(里面是空的)。 8.利用SSMS建立如下三个表,按下面的列表中的字段名(英文)、类型和宽度建立:(注 意主键、外键的建立,并输入数据体会实体完整性和参照完整性规则,部分列可以尝试用户定义的完整性规则) 表1 student (学生) 字段名字段说明类型字段大小小数位数 sno 学号Char 8 sname 姓名Varchar 8 ssex 性别Char 2 sdept 系别Varchar 20 sage 年龄Int 整型 表2 course (课程) 字段名字段说明类型字段大小小数位数 cno 课程号Char 3 cname 课程名称Varchar 20 Credit 学分Numeric 1 Cpno 系别char 3 表3 sc (选修) 字段名字段说明类型字段大小小数位数 sno 学号Char 8 cno 课程号Char 3 Grade 成绩numeric 1 9.向三个表中输入数据; 表5 Course表数据

数据库实验题目和答案

按照如下方式重新定义四张表: 定义新的books表,其所拥有的属性与属性类型与原有的books表一致 以列级完整性的方式定义属性bookId为主码,同时在定义的时候必须提供约束名 定义属性category为”非空” ,同时在定义的时候必须提供约束名 create table Books( bookId number(9,0) constraint BooksKey primary key, title varchar(80), author varchar(40), year integer, category varchar(15) constraint B1 not null ); commit; 定义新的customers表,其所拥有的属性与属性类型与原有的customers表一致 以表级完整性的方式定义属性cid为主码 以列级完整性的方式定义属性cname为”唯一”,同时在定义的时候必须提供约束名 create table Customers ( cid number(9,0), cname char(40) constraint C1 unique, age integer, primary key(cid) ); commit; 定义新的purchases表,其所拥有的属性与属性类型与原有的purchases表一致 定义属性cid与bookId为主码,同时在定义的时候必须提供约束名 以列级完整性的方式定义属性bookId为外码,它参照Books表的主码,同时在定义的时候必须提供约束名。当删除Books表中的某一本书时,级联删 除与它相关的购买记录 以表级完整性的方式定义属性cid为外码,它参照customers表,同时在定义的时候必须提供约束名。当删除customers表中的某个顾客时,如果存在 与该客户相关的购买记录,拒绝删除。 create table Purchases( cid number(9,0), bookId number(9,0)

同济大学数据库实验5答案

create proc procA as select* from student exec proca create proc procB @_year char(4) as select* from student where year(birthday )=@_year declare @_year char(4) set @_year ='1994' exec procB@_year create proc procf @_Snum char(30) as select s.snum ,avg(score)as平均成绩,count(https://www.360docs.net/doc/da15084259.html,um)as选秀门数,sum(1-score/60)as不及格门数 from student s,course c,sc,sections st where s.snum =sc.snum and sc.secnum =st.secnum and https://www.360docs.net/doc/da15084259.html,um =https://www.360docs.net/doc/da15084259.html,um and S.Snum =@_Snum group by S.Snum DECLARE @_SUNM char(30) set @_SUNM ='s001' exec procf@_sunm CREATE PROC Procd @_snum char(4),@_avg int out,@_selected_course int out,@_failed_course int out AS SELECT @_avg=AVG(score),@_selected_course=COUNT(cnum),@_failed_course=sum(1-score/60) FROM sc JOIN sections ON sc.secnum =sections.secnum WHERE snum=@_snum

sql 数据库 实验3答案

实验三:创建及管理数据表 1、创建表 依据数据表的结构创建相对应的数据表,表结构如下所示; 学生信息表(student ) CREATE (sno char (9) PRIMARY KEY , sname char (8) NOT NULL, ssex char (2), sage int , sdept varchar (20) ) 课程信息表(course ) CREATE (cno char (4) PRIMARY KEY , cname varchar (20) NOT NULL, cpno char (4), ccredit int ) 选课信息表(sc )

CREATE TABLE sc (sno char(9), cno char(4), grade int, Constraint PK_sno PRIMARY KEY(sno,cno)) 2.修改表结构 1)在表student中增加新字段“班级名称(sclass)”字符类型为varchar(10); use student ALTER TABLE student Add sclass nvarchar(10) 2)在表student中删除字段“班级名称(sclass)”; use student ALTER TABLE student Drop column sclass 3)修改表student中字段名为“sname”的字段长度由原来的6改为8; use student ALTER TABLE student ALTER COLUMN sname char(8) 4)修改表student中ssex字段默认值为‘男’; use student ALTER TABLE student add default'男'for ssex 5)修改表course中cname字段为强制唯一性字段; use student ALTER TABLE course Add constraint ix_course unique (cname) 6)修改表sc中grade字段的值域为0-100; use student ALTER TABLE sc Add constraint CK_grade CHECK(grade between 0 and 100) 7)删除数据表course的唯一性约束; use student ALTER TABLE course drop ix_course

数据库实验五题目答案

实验五 实验5.1 数据查询 1)要求 以School数据库为例,在该数据库中存在四表格,分别为: ●表STUDENTS(sid, sname, email, grade); ●表TEACHERS(tid, tname, email, salary); ●表COURSES(cid, cname, hour); ●表CHOICES(no, sid, tid, cid, score) 在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。在表CHOICES中保存学生的选课记录。 按以下要求对数据库进行查询操作: (1)查询年级为2001的所有学生的名称并按编号升序排列。 程序:Select sname from students where grade='2001' order by sid asc; (2)查询学生的选课成绩合格的课程成绩。 程序:Select score from choices where score>'59';

(3)查询课时是48或60的课程的名称。 程序:select cname from courses where hour='48'or hour='60'; (4)查询所有课程名称中含有data的课程编号。 程序:select cid from courses where cname like'%data%';

(5)查询所有选课记录的课程号(不重复显示)。 程序:select distinct cid from choices; (6)统计所有教师的平均工资。 程序:select avg(salary) from teachers;

数据库实验1

数据库实验一报告 实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库 1 实验内容: (1) 使用SSMS加入实验数据库。 (2) 使用SSMS可视化建立、修改和删除数据库、表。 (3) 使用SSMS对数据库进行备份和恢复。 (4) 使用SSMS对表进行查询、插入、修改、删除。 2 实验步骤: (1) 加入School数据库。 (2) 建立Test数据库。 (3) 在数据库中建立人员表PERSON(P#,Pname,Page)。更改表设置P#为主键,增加属性Ptype(类型是CHAR,长度是10)。

(4) 用SSMS的查询功能(新建查询)对PERSON表进行查询、插入、修改、删除等操作:首先插入两条记录;修改第二条记录;删除第二条记录。 (5) 备份Test数据库。

(6) 删除表PERSON。 右键—》删除表 (7) 恢复Test数据库。 (8) 删除Test数据库。 实验1.2 数据定义 1 实验内容: (1) 使用CREATE语句创建基本表。

(2) 更改基本表的定义,增加列,删除列,修改列的数据类型。 (3) 创建表的升降序索引。 (4) 取消表、表的索引或表的约束。 2 实验步骤: (1) 使用SQL语句创建关系数据库表:人员表PERSON(P#,Pname,Page)、房间表ROOM(R# Rname,Rarea)、表PR(P#,R#,Date)。其中:P#是表PERSON的主键,具有唯一性的约束;Page 具有约束“大于18”;R#是表ROOM的主键,具有唯一性约束。表PR中的P# C#是外键。 create table PERSON( P# nchar(10) primary key, Pname nchar(10), Page nchar(10), constraint k1 check (Page>18) ) create table ROOM( R# nchar(10) primary key, Rname nchar(10), Rarea nchar(10) ) create table PR( P# nchar(10), R# nchar(10), date nchar(10), foreign key (P#) references PERSON(P#),--外键 foreign key (R#) references ROOM(R#) --外键 ) (2) 更改表PERSON,增加属性Ptype(类型是CHAR,长度是10),取消Page大于18的约束。把表ROOM中的属性Rname数据长度改成40。 alter table PERSON add Ptype char(10); alter table PERSON drop k1; alter table ROOM alter column Rname char(40);

数据库试验答案

计算机与信息学院 数据库实验报告 专业班级 学生姓名及学号 课程教学班号 任课教师 实验指导教师 实验地点 2012 ~2013 学年第二学期

实验1 使用向导创建和删除数据库 一、实验目的 1.熟悉SQL Server 中SQL Server Management Studio的环境 2.了解SQL Server 数据库的逻辑结构和物理结构 3.掌握使用向导创建和删除数据库的方法 二、实验要求 1.熟练使用SSMS进行数据库的创建和删除操作。 2.完成实验报告。 三、实验内容 设有一学籍管理系统,其数据库名为“EDUC”。 初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长; 日志文件初始为2MB,最大可增长到5MB,按1MB增长。 数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”。 日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。 四、实验步骤

1.使用SQL Server Management Studio(简称SSMS)创建数据库。 (1)启动SSMS 在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。如果身份验证选择的是“混合模式”,则要输入sa的密码。 (2)建立数据库 在“对象资源管理器”窗口,建立上述数据库EDUC。在数据库节点上右击选择新建。同时建立一个同样属性的数据库EDUC1。

数据库SQLServer-实验3答案-教

数据库SQLServer-实验3答案-教辅-教材

实验3 SQL Server数据表管理 一、实验目的 1.学会使用SQL Server管理平台和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表。 2.学会在SQL Server管理平台中对表进行插入、修改和删除数据操作。 3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。 4.了解SQL Server的常用数据类型。 二、实验内容 1.启动SQL Server管理平台,在对象资源管理器中展开“studentsdb数据库文件夹。 2.在studentsdb数据库中创建数据表《学生表》、《课程表》、《成绩表》,数据结构 如图3-1、图3-2和图3-3所示。 图3-1 学生表 图3-2 课程表

图3-3 成绩表3.在SQL Server管理平台中创建《学生表》、《课程表》。 4.在SQL Server管理平台中,将《学生表》的学号列设置为主键,非空。 5.使用Transact-SQ语句CREATE TABLE在studentsdb数据库中创建《成绩表》。 6.《学生表》、《课程表》、《成绩表》中的数据如图3-4、图3-5和图3-6所示。 7.在SQL Server管理平台中为《学生表》、《课程表》、《成绩表》添加数据。

(注意:在添加数据是必须逐行输入,否则系统将会报错,显示“出错信息为:键列信息不足或不正确。更新影响到多行”,产生原因是由于相同记录所造成)。 8.使用Transact-SQL语句INSERT NTTO …V ALUES向studentsdb数据库的《成绩表》插入以下数据: 学号课程编号成绩 0004 0001 80

数据库实验一

《数据库原理》实验报告 实验名称Kingbase安装、数据库创建与维护实验班级******** 学号******** 姓名*****__

实验一Kingbase安装、数据库创建与维护实验实验目的 1.通过对KINGBASE的安装和简单使用: (1)了解安装KINGBASE的软硬件环境和安装方法; (2)熟悉KINGBASE相关使用; (3)熟悉KINGBASE的构成和相关工具; (4)通过KINGBASE的使用来理解数据库系统的基本概念; 2.通过创建数据库、并进行相应的维护,了解并掌握Kingbase数据库的创建和维护的不同方法和途径,并通过这一具体的数据库理解实际数据库所包含的各要素。 实验平台及环境 软件:kingbase3.1 操作系统:win7 实验内容 1.Kingbase安装 (1)在windows7上安装并运行Kingbase。 (2)练习启动和停止数据库服务。 (3)通过Kingbase ES 交互式工具连接数据库。 (4)熟悉Kingbase ES交互式工具的各项功能。 (5)熟悉数据库服务器的启动和停止运行。 (6)指定具体的安装位置。 2.数据库创建与维护 (1)创建学生选课数据库。 (2)对数据库属性和参数进行查询、相应的修改和维护,内容包括: -最大连接数 -服务器端口 -共享缓存数 -为DBA保留的连接数 -死锁检测时间 -日志缓冲数 -设置系统同步写 (3)练习数据库的删除等维护; (4)用Kingbase管理工具和交互式的ISQL语句分别完成以上操作。

实验步骤 1:Kingbase的安装: 启动安装程序,点”下一步” 输入用户名,公司名,序列号后点”下一步”

mysql数据库实验答案

实验一创建、修改数据库和表结构 1、用create建立教学数据库的五个基本表: (1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ; (2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ; (3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ; (4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址), T(Tno,Tname,ssex,birthday,dept,title,address) ; (5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj); Create Database Student default character set utf8 default COLLATE utf8_bin;

Use Student; Create Table Student( SNo c har(20) primary key, SName char(20) , SSex char(4) default '男', SAge int ) ENGINE=InnoDB; Create Table Course( CNo c har(20) primary key, CName char(20) NOT NULL,

CRedit f loat ) ENGINE=InnoDB; Create Table SC( SNo c har(20) NOT NULL, CNo c har(20) NOT NULL, Grade float, Primary Key(SNo, CNo), Foreign Key(SNo) References Student(SNo) On Delete Cascade, Foreign Key(CNo) References Course(CNo) )ENGINE=InnoD B;

数据库实验答案

实验3 使用T-SQL语言完成单表查询 一、实验目的 掌握使用T-SQL语言完成单表查询 掌握常用谓词的用法 掌握where子句的用法 掌握order by 子句的用法 掌握group by 子句和having短语的用法 实验环境 Microsoft SQL Server 2000。 实验内容和要求 查询全体学生的详细信息。 查询所有课程的详细信息。 查询所有选课记录的详细信息,要结果表中的列名以中文的形式显示,分别为:学号,课程号,成绩。 查询已被学生选修了的课程的编号。 查询系别编号为“d002”的学生的姓名和性别。 查询年龄在19至21岁或者性别为“女”的学生的学号和所在系别编号。 查询系别编号为d001、d002和d003的学生的学号和姓名。 查询课程名为“C_”开头的课程名和学分。 某些学生入学后还没有确定所在的系,查询还没有确定系的学生的姓名。 查询成绩大于60分的学生的学号、课程号和成绩,并将查询结果按课程编号升序排列,同一课程的成绩按分数降序排列。 查询学校所开设的总的课程数。 计算2号课的学生成绩总和以及平均成绩,对应的列名分别为“总成绩”和“平均成绩”。 查询选修了3号课程的学生的最高分和最低分,对应的列名分别为“最高分”和“最低分”。 求各个系别的编号以及各系的人数。 查询选课人数大于等于2人的课程编号以及选课的人数。 查询学生2选修课程的总成绩对应的列名为“总成绩”,并显示出学号。 查询有2门以上课程是80分以上的学生的学号及课程数。 查询选修了1号课的学生的学号和成绩,结果按成绩降序、学号升序排列。 实验1 使用T-SQL语言建库、建表 实验2 向表中增、删、改数据 实验目的 掌握使用T-SQL建库、建表、修改表; 掌握使用T-SQL对表中数据进行插入、删除和修改。 实验环境 Microsoft SQL Server 2000。 实验内容和要求 建立数据库STDB 在数据库STDB中建立四个表:

数据库_实验三答案

实验3 SQL语言 一、实验目的 1、掌握SQL中运算符和表达式的使用。 2、掌握实用SQL语言查询数据库。 二、实验要求 1、所有的实验过程请严格按照实验容的步骤进行。 2、对关键步骤截屏并复制到实验报告的相应位置。 三、实验设备、环境 设备:计算机 环境:WINDOWS XP、SQL SERVER 2000中文版 四、实验原理、方法 上机操作 五、实验容 准备工作:还原学生成绩管理数据库; 注意:写SQL语句时,注意学生成绩管理数据库中表名称和字段名称的对应。 1、使用SQL查询分析器,对学生成绩管理数据库完成如下查询操作: 1)简单查询 (1)求数学系学生的学号和。 (2)求选修了课程的学生学号。

(3)求选修C1课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。 (4)求选修课程0001且成绩在80~90之间的学生学号和成绩,并将成绩乘以系数0.8输出。 (5)求数学系或计算机应用系姓王的学生的信息。 (6)求缺少了成绩的学生的学号和课程号。

2)连接查询 (1)查询每个学生的情况以及他(她)所选修的课程。 (2)求学生的学号、、选修的课程名及成绩。 (3)求选修0001课程且成绩为90分以上的学生学号、及成绩。

3)嵌套查询 (1)求选修了0003的学生学号和。 (2)求0001课程的成绩高于王军的学生的学号和成绩。

(3)求其他系中比计算机系某一学生年龄小的学生。 4)使用分组和函数查询 (1)求学生的总人数。 (2)求选修了课程的学生人数。

(3)求课程和选修0001的人数。 (4)求选修课超过3门课的学生学号。

数据库实验一汇总

实验报告 实验项目名称实验一SQL单表查询实验室 所属课程名称《数据库》 实验日期 班级 学号 姓名 成绩

3,查询所有销售员(SALESMAN)的姓名、编号和部门编号 Select ename,empno,deptno From emp Where job= ‘SALESMAN’; 4, 查询佣金高于薪金50% 的雇员的所有信息 Select * From emp Where sal>1.5*comm; 5, 查询第1个字母为“M”的雇员姓名 Select empno,ename From emp Where ename LIKE ’M%’; 6,查询雇员的姓名和雇佣日期,在显示姓名时只有第1个字母使用大写 Select initcap(ename) AS ENAME,hiredate From emp; 7, 查询姓名包含6个字符的雇员信息 Select * From emp Where length(ename)=6; 8,查询姓名中不含字母“S”的所有雇员信息 select * from emp where ename not like ‘%S%’; 9,查询所有雇员的姓名,以及所承担的工作名称的前5个字符; select ename,substr(job,1,5)as JOB from emp; 10,查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金 select ename,job,comm from emp where comm is null OR comm<200; 11,查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消; Select distinct job From emp Where comm Is not null; 12,查询部门“20”中所有分析师(ANALYST)和部门“30 ”中所有办事员(CLERK)的详细信息; Select *

数据库实验一

《数据库原理与应用》实验报告 实验一、定义数据库和表 一、实验环境 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 sdb on 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 sdb 1.建立表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);

数据库实验一

实验报告 实验项目名称实验一 SQL单表查询实验室 所属课程名称《数据库》 实验日期 班级 学号 姓名 成绩

10,查询没有佣金或佣金低于200的所有雇员的姓名、工作及其佣金 select ename,job,comm from emp where comm is null OR comm<200; 11,查询收取佣金的雇员所承担的工作的名称,重复的工作名称应取消; Select distinct job From emp Where comm Is not null; 12,查询部门?20?中所有分析师(ANALYST)和部门?30 ?中所有办事员(CLERK)的详细信息; Select * From emp Where (deptno=20 AND job=’ANALYST’) OR (deptno=30 AND job=’CLERK’); 13,查询部门?10?与?30?中所有经理以及部门?20?中所有分析师; Select * From emp Where (Job=’MANAGER’AND (deptno=10 OR deptno=30)) OR (job=’ANALYST’AND deptno=20); 14,查询既不是经理又不是办事员但其薪金大于或等于 1800 的所有雇员的信息;Select * From emp Where job NOT IN (‘MANAGER’,’CLERK’) AND sal>=1800; 15,查询雇员的编号、姓名、部门编号、工作、雇佣日期和薪金,查询结果先按部门编号的升序排列,部门编号相同的雇员再按雇佣日期的降序排列 SELECT EMPNO,ENAME,DEPTNO,JOB,HIREDATE,SAL FROM emp ORDER BY deptno ASC,Hiredate DESC; 16, 查询所有雇员的姓名、工作和薪金,先按工作的降序排列,具有相同工作的雇员再按薪金的升序排列 SELECT ename,job,sal From emp Order by job desc,sal asc; 17,查询所有在7月份雇佣的雇员的信息 select * from emp where to_char(hiredate,'mm')=7; 18,查询在各月的最后一天被雇佣的雇员的编号、姓名和雇佣日期 Select empno,ename,hiredate

数据库管理系统实验报告含答案

xxxx大学《数据库管理系统》课程实验报告 班级: _______姓名:实验时间:年月日指导教师:_______ 一、实验目的 1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。 2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。 3、紧密联系实际,学会分析,解决实际问题。学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。 二、实验内容 1.导入实验用示例数据库: f:\教学库.mdf f:\教学库_log.ldf f:\仓库库存.mdf f:\仓库库存_log.ldf 1.1 将数据库导入 在SqlServer 2005 导入已有的数据库(*.mdf)文件,在SQL Server Management Studio 里连接上数据库后,选择新建查询,然后执行语句 EXEC sp_attach_db @dbname = '教学库', @ = 'f:\教学库.mdf', @ = 'f:\教学库_log.ldf' go use [教学库] EXEC sp_changedbowner 'sa' go EXEC sp_attach_db @dbname = '仓库库存', @ = 'f:\仓库库存.mdf',

@ = 'f:\仓库库存_log.ldf' go use [仓库库存] EXEC sp_changedbowner 'sa' go 1.2 可能出现问题 附加数据库出现“无法打开物理文件"X.mdf"。操作系统错误5:"5(拒绝访问。)"。(Microsoft SQL Server,错误: 5120)”。 解决:找到要附加的.mdf文件-->右键-->属性-->安全-->选择当前用户-->编辑-->完全控制。对.log文件进行相同的处理。 2.删除创建的数据库,使用T-SQL语句再次创建该数据库,主文件和日志文件的文件名同上,要求:仓库库存_data最大尺寸为无限大,增长速度为20%,日志文件初始大小为2MB,最大尺寸为5MB,增长速度为1MB。 CREATE DATABASE仓库库存 (NAME = '仓库库存_data', = 'F:\仓库库存_data.MDF' , SIZE = 10MB, = 20%) LOG ON (NAME ='仓库库存_log', = 'F:\仓库库存_log. LDF', SIZE = 2MB, MAXSIZE = 5MB, = 1MB) 2.1 在数据库“仓库库存”中完成下列操作。 (1)创建“商品”表,表结构如表1: (2)创建“仓库”表,表结构如表2: 表2 仓库表

数据库实验三作业及答案.docx

实验3 SQL Server 数据表的管理 一、实验目的 1.学会使用企业管理器和Transact-SQL语句CREATE TABLE和ALTER TABLE创建和修改表。 2.学会在企业管理器中对表进行插入、修改和删除数据操作。 3.学会使用Transact-SQL语句对表进行插入、修改和删除数据操作。 4.了解SQL Server的常用数据类型。 二、实验准备 1.了解在企业管理器中实现表数据的操作,如插入、修改和删除等。 2.掌握用Transact-SQL语句对表数据进行插入(INSERT)、修改(UPDATE)和删除(DELETE和TRANCATE TABLE)操作。 三、实验内容及步骤 1.启动企业管理器,展开studentsdb数据库文件夹。 2.在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2、图1-3和图1-4所示。 图1-2 学生基本情况表student_info 图1-3 课程信息表curriculum 图1-4 学生成绩表grade 3.在企业管理器中创建student_info、curriculum表。 4.在企业管理器中,将student_info表的学号列设置为主键,非空。 5.使用Transact-SQL语句CREATE TABLE在studentsdb数据库中创建grade表。 CREATE TABLE grade (学号varchar(4), 课程编号varchar(4), 分数decimal(5,0) ) 6.student_info、curriculum、grade表中的数据如图1-5、图1-6和图1-7所示。 图1-5 student_info的数据

相关文档
最新文档