SQL第十周第一次上机作业

合集下载

数据库上机实习内容

数据库上机实习内容
陆悟

6500.00
王恩波

4000.00
课程表:
课程代号
课程名称
课时
学分
任课教师
1
数学
144
12
李没有
2
英语
144
12
刘姥姥
3
计算机基础
48
4
王恩波
4
数据库
56
5
王恩波
5
政治
80
8
陆悟
6
体育
64
6
陆悟
成绩表:
学号
课程代号
成绩
学号
课程代号
成绩
2000A12345601
1
100
2000A12345602
4个表的结构分别为:
教师表:
列名
数据类型
长度
允许空
教师姓名
nvarchar
3
不允许
性别
bit
1
允许
照片
image
16
允许
简历
ntext
16
允许
工资
real
4
允许
成绩表:
列名
数据类型
长度
允许空
学号
nvarchar
13
不允许
课程代号
int
4
不允许
成绩
tinyint
1
允许
课程表:
列名
数据类型
长度
允许空
课程代号
在SQL Server企业管理器对话框中选择菜单“工具”,再选择“数据转换服务”,然后选择“导入数据(或导出数据)”.
方法四:
在SQL Server企业管理器对话框中选择菜单“工具”,再选择“向导”,然后选择“数据转换服务”,最后选择“导出向导(或导入向导)”。

SQL语句上机练习一

SQL语句上机练习一

打开下发的数据库素材,请使用SQL语句完成下列查询,每一题在输入完语句后,通过运行来检查有无错误,查询结果是否正确,下面七个查询依次保存为查询1,查询2。

查询7。

SQL语句有不会的可参看教材P134,135,136
1. 请查询出“学生档案”表中入学成绩大于400分的同学姓名
2. 请查询出“学生档案”表中入学成绩大于300分,小于400分的同学所有信息
3. 请查询出“学生档案”表中所有团员的姓名
4. 请查询出“学生档案”表中入学成绩大于500分,或小于300分的同学班级ID、性别、姓名
5. 请查询出“学生档案”表中出生日期在1990年9月1日至1991年9月1日之间出生的学生学号、姓名
6. 请查询出“学生档案”表中所有姓“刘”的同学姓名、班级ID、奖惩
7. 请查询出“学生成绩01”表中数学和语文都大于90分的同学学号。

SQL上机操作题目精选

SQL上机操作题目精选

CAP数据库示例Customers:顾客信息cid 唯一标识一个顾客Cname顾客名称City顾客所在的城市Discnt每个顾客可能会有的折扣Agents代理商信息Aid唯一标识一个代理商Aname代理商的名称City代理商所在的城市Percent代理所能获得的佣金百分比Products商品信息Pid唯一标识一件商品Pname商品名称City商品库所在城市Quantity商品的库存数量Price每单位商品的批发价Orders订单信息Ordno唯一标识一份订单month订单月份cid购买该商品的顾客Aid经由该代理商订货pid所订购的商品qty订购的商品数量dollars商品的总价CAP数据库的四个表Customers(cid,cname,city,discnt)Agents(aid,aname,city,percent)Products(pid,pname,city,quantity,price)Orders(ordno,month,cid,aid,pid,qty,dollars)用SQL语句查询(注意:数据库只是一个示例,题目中出现的数据不一定在数据库中出现,自己在做测试时可用数据库中的数据,但是写命令须按照题目要求来写):1、查询住在GuangZhou的代理人的编号和名字。

2、查询客户及其委托代理定货的所有代理人的名字。

3、查询通过SuZhou或HangZhou城市代理商订购产品的所有客户编号。

4、查询通过SuZhou或HangZhou城市代理商订购产品的所有客户名字及其折扣。

4、取出至少被一个在Beijing的顾客通过位于Shanghai的代理订购的商品的名字。

5、找出折扣率最大和最小的顾客的cid值。

6、找出折扣率最大和最小的顾客的cname值。

7、找出通过代理商a06而不通过代理a01订购的商品的pid值。

8、取出“shanghai“的代理商的aid和aname值,并且这些代理没有销售过任何Suzhou生产的商品。

第一次上机练习-习题-结果

第一次上机练习-习题-结果

习题1请根据给出的数据库表结构来回答相应问题:DEPT (DEPTNO INT, DNAME VARCHAR(14),LOC VARCHAR(13));EMP (EMPNO INT,ENAME VARCHAR(10), JOB VARCHAR(9), MGR INT, HIREDATE DATE, SAL FLOAT, COMM FLOAT, DEPTNO INT);BONUS (ENAME VARCHAR(10), JOB VARCHAR(9), SAL INT, COMM INT); SALGRADE ( GRADE INT, LOSAL INT, HISAL INT);其中表中包含如下数据:DEPT表:EMP表:SALGRADE表:BONUS表:无数据根据上面描述完成下面问题:(注意:注意保存脚本,尤其是DDL和DML,以便进行数据还原)DDL1.写出上述表的建表语句。

此外,在DEPT上创建名为”PK_DEPT”的主键约束,在EMP表上创建名为”PK_EMP”的主键约束以及指向表DEPT 的外键约束”FK_DEPTNO”。

命令:create table DEPT(DEPTNO int ,DNAME nvarchar,LOC nvarchar,primary key(pk_dept));Create table EMP(EMPNO int ,ENAME nvarchar, JOB nvarchar, MGR int,HIREDATE datetime,SAL int ,COMM float, DEPTNO int,primary key (pk_emp),foregin key(fk_deptno)references dept);DML2.给出相应的INSERT语句来完成题中给出数据的插入。

命令:insert(“1”,”accounting”,”null”)3.将所有员工的工资上浮10%.然后查询员工、薪水、补助。

SQL作业1(答案)

SQL作业1(答案)

SQL作业1(答案)1.创建名为test的数据库,要求使用三个10 MB 的数据文件(test1、test2、test3)最大20MB,增长量为10%,和两个 5MB 的事务日志文件(test_log1、test_log2)最大10MB。

(注意:事务日志文件在log ON 关键字后指定,FILENAME 选项中所用的文件扩展名:主要数据文件使用 .mdf,次要数据文件使用 .ndf,事务日志文件使用 .ldf)。

2.将两个数据文件(test4、test5)(初始大小5MB,最大为无限大),和一个事务日志文件(test_log3,初始大小5MB,最大为10MB,增长量为10%)添加到test数据库中。

3.删除test数据库。

练习二:1.创建一个数据库Demo主文件组中:主文件名为demo_data,存放在D:\,初始大小为10M,最大可增长到50M,自动增长值为5M。

二级文件,名为demo_data_1,存放在E:\,初始大小为20M,最大可增长到200M,自动增长值为10M2.用户定义文件组p1:二级文件,名为demo_data_2,存放在d:\,初始大小为50M,最大可增长到500M,自动增长值为10M。

二级文件,名为demo_data_3,存放在c:\,初始大小为50M,最大可增长到500M,自动增长值为10M。

3.日志文件,名为demo_log_1,存放在d:\,初始大小为10M,最大可增长到30M,自动增长值为2M,日志文件,名为demo_log_2,存放在e:\,初始大小为10M,最大可增长到30M,自动增长值为2M。

4.在demo数据库中的P1文件组中新增一个文件demo_data_4,存放在c:\,初始大小为10M,最大可增长到50M,自动增长值为5M5.修改demo_data_4文件,使它最大可增长到100M6.分离数据库demo7.附加数据库demo1.CREATE DATABASE testON(NAME=test1,FILENAME='d:\temp\test1.mdf',SIZE=10MB,M AXSIZE=20MB,FILEGROWTH=10%),(NAME=test2,FILENAME='d:\temp\test2.ndf',SIZE=10MB,M AXSIZE=20MB,FILEGROWTH=10%),(NAME=test3,FILENAME='d:\temp\test3.ndf',SIZE=10MB,M AXSIZE=20MB,FILEGROWTH=10%)LOG ON(NAME=test_log1,FILENAME='d:\temp\test_log1.ldf',SIZE=5 MB,MAXSIZE=10MB,FILEGROWTH=10%),(NAME=test_log2,FILENAME='d:\temp\test_log2.ldf',SIZE=5MB, MAXSIZE=10MB,FILEGROWTH=10%) GO2.ALTER DATABASE testADD FILE(NAME=test4,FILENAME='d:\temp\test4.ndf',SIZE=5MB,MA XSIZE=unlimited,FILEGROWTH=10%),(NAME=test5,FILENAME='d:\temp\test5.ndf',SIZE=5MB,MAXSIZ E=unlimited,FILEGROWTH=10%)GOALTER DATABASE TESTADD LOG FILE(NAME=test_log3,FILENAME='d:\temp\test_log3.ldf',SIZE=5 MB,MAXSIZE=10MB,FILEGROWTH=10%) GO3.DROP DATABASE test练习二:1.2.3.CREATE DATABASE demoON(NAME=demo_data,FILENAME='d:\demo_data.mdf',SIZE=1 0MB,MAXSIZE=50MB,FILEGROWTH=5MB),(NAME=demo_data_1,FILENAME='e:\demo_data_1.ndf',SIZE=20 MB,MAXSIZE=200MB,FILEGROWTH=10MB), FILEGROUP p1 (NAME=demo_data_2,FILENAME='d:\demo_data_2.ndf',SIZE =50MB,MAXSIZE=500MB,FILEGROWTH=10MB),(NAME=demo_data_3,FILENAME='c:\demo_data_3.ndf',SIZE=50 MB,MAXSIZE=500MB,FILEGROWTH=10MB) LOG ON (NAME=demo_log_1,FILENAME='d:\demo_log_1.ldf',SIZE=1 0MB,MAXSIZE=30MB,FILEGROWTH=2MB),(NAME=demo_log_2,FILENAME='e:\demo_log_2.ldf',SIZE=10MB ,MAXSIZE=30MB,FILEGROWTH=2MB)Go4.ALTER DATABASE demoADD FILE(NAME=demo_data_4,FILENAME='c:\demo_data_4.ndf',SIZE =10MB,MAXSIZE=50MB,FILEGROWTH=5MB) to filegroup p1 go5.ALTER DATABASE demomodify file(NAME='demo_data_4',MAXSIZE=100MB)Go6.分离数据库demosp_detach_db'demo'7.附加数据库 demosp_attach_db'demo','d:\demo_data.mdf','d:\demo_log_1.ldf'。

SQL数据库上机实验题目和答案

SQL数据库上机实验题目和答案

SQL数据库上机实验题目和答案试用SQL的查询语句表达下列查询:1.检索王丽同学所学课程的课程号和课程名。

select Cno ,Cname from c where Cno in(select cno from sc where sno in (select sno from s where sname='王丽' ))2.检索年龄大于23岁的男学生的学号和姓名。

select sno,sname from swhere sex='男' and age>233.检索‘c01’课程中一门课程的女学生姓名select sname from swhere sex='女' and sno in(select sno from sc where cno='c01')4.检索s01同学不学的课程的课程号。

select cno from cwhere cno not in (select cno from sc where sno ='s01')5.检索至少选修两门课程的学生学号。

select sc.sno from s,scwhere s.sno=sc.snogroup by sc.snohaving count(/doc/6b7958374.html,o)>=26.每个学生选修的课程门数。

解法一:select so.sno sno,/doc/6b7958374.html,ount,s.sname from(select sc.sno sno,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno ) so,swhere s.sno=so.sno解法二:select sc.sno sno,s.sname,count(sc.sno) ccountfrom sc,swhere s.sno=sc.snogroup by sc.sno,sname7.求选修C4课程的学生的平均分。

数据库上机作业一

数据库上机作业一

实验一SQL语言及SQL Server数据库管理系统应用操作实验环境:Microsoft SQL Server 2000实验目的:◆熟练使用SQL定义子语言、操纵子语言命令语句;◆熟练SQL Server数据库管理系统图形化界面操作;实验要求:◆按要求完成所有上机题;认真填写实验报告,将相应SQL代码或界面截图填入实验报告;保存、备份相关实验数据。

1-1a 利用SQL语句创建数据库。

创建要求:数据库Employee中包含一个数据库文件Empdat1.mdf和一个日志文件Emplog.ldf。

其中,数据文件大小为10MB,最大为50MB,以5MB速度增长;日志文件大小为5MB,最大为25MB,以5%速度增长。

1-1b 利用SQL语句修改数据库修改要求:增加第二个数据库文件Empdat2.ndf,其中,数据文件大小为5MB,最大为25MB,以2MB速度增长。

1-1c 利用SQL语句删除数据库Employee1-1d 利用SQL Server企业管理器重新创建数据库Employee实验指导:(1)企业管理器——>Microsoft SQL Servers——>SQL Server组——>所在服务器——>数据库(2)在数据库文件夹上右键点击鼠标,选择“新建数据库”,此时打开了“数据库属性对话框”(3)在“名称”文本框中输入“Employee”,再在“数据文件”和“事务日志”选项卡中按要求添加数据文件和日志文件(4)按要求修改Employee数据库的属性1-2 利用SQL创建人员表person、月薪表salary;利用企业管理器创建部门表dept。

要求:按表1-1、表1-2及表1-3中的字段说明创建。

表1-1 person表结构字段名数据类型字段长度允许空否字段说明P_no Char 6 Not Null 工号,主键P_name Varchar 10 Not Null 姓名Sex Char 2 Not Null 性别BirthDate Datetime 8 Null 出生日期Prof Varchar 10 Null 职称Deptno Char 4 Not Null 部门代码,外键(参照dept表)表1-2 Salary表结构字段名数据类型字段长度允许空否字段说明P_no Char 6 Not Null 工号,主键,外键(参照person表) Base Dec 5 Null 基本工资Bonus Dec 5 Null 奖金,要求>50Fact 实发工资=基本工资+奖金Month Int Not Null 月份表1-3 dept表结构字段名数据类型字段长度允许空否字段说明Deptno Char 4 Not Null 部门代码,主键Dname Varchar 10 Not Null 部门名称1-3 利用SQL语句创建视图。

(完整版)第一次上机实验参考答案

(完整版)第一次上机实验参考答案
第1 页 共 8页
hing at a time and All things in their being are good for somethin
OpenFileDialog imageDialog = new OpenFileDialog();
imageDialog.Filter =
"BMP(*.BMP)|*.BMP|JPEG(*.JPEG)|*.JPEG|JPG(*.JPG)|*.JPG|GIF(*.GIF)|*.GIF|PNG(*.png)|*.p
hing at a time and All things in their being are good for somethin
第一次上机实验参考答案
一、编程范例:创建 Windows 窗体个人简历应用程序。
编写一个简单的个人简历程序,要求可以通过文本框输入学号和姓名,通过文件对话框选择照片 并显示。系统运行界面如图1-1 所示。
namespace SY1_4
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
第6 页 共 8页
hing at a time and All things in their being are good for somethin
第3 页 共 8页
hing at a time and All things in their being are good for somethin
(1)Button1:Text 内容为“隶书 25 磅”,事件过程代码为: textBox1.Font = new Font("隶书", 25); (2)Button2:Text 内容为“幼圆 15 磅”,代码类似。 (3)Button3:Text 内容为“复制 =>”,要求复制在textBox1 选中的内容以及其字 体格式。选中的内容通过textBox1 的SelectedText 属性;字体通过Font 直接赋值。

sql上机实习心得体会

sql上机实习心得体会

sql上机实习心得体会在sql上机实习中,我们以SQL Server数据库为基础,建立一个google订餐系统的数据库管理体系,并将数据库与程序连接,用编程语言建立数据库管理菜单,在此共享心得体会。

下面是我为大家收集整理的sql上机实习心得体会,欢迎大家阅读。

sql上机实习心得体会篇1一、实训目的1.娴熟把握SQL Server数据库的设计及其对象的基本操作。

2.娴熟把握数据查询、视图、存储过程和触发器的使用方法。

3.娴熟把握vb应用程序中界面设计的方法。

4.通过实训,使同学了解数据库系统在实际应用中的开发方法及设计过程,为今后从事管理信息系统的讨论、开发、应用供应必要的学问,更好地完成各种计算机应用和开发任务。

二、课程设计报告内容1.实训内容同学信息管理工作是学校管理工作的重要组成部分,现在相当一部分学校的同学管理工作仍沿用手工方式。

随着学校规模的扩大、同学人数的增加,效率低下、简单出错的手工方式越来越不适应实际管理工作的需要,根据软件工程原理和数据库技术开发同学信息管理系统已经成为同学管理部门的迫切需要。

程设计的题目是高校同学信息管理系统,本项目实现的功能主要包括以下内容:(1)完成数据的录入和修改,并提交数据库保存。

其中的数据包括:专业信息、班级信息、同学信息、选修课程信息和成果信息等,系统能够自动避开重复信息。

(2)实现信息查询,主要包括同学信息查询、选修课程信息查询和成果信息查询等。

(3)实现数据的删除功能:对数据进行删除操作。

系统能够通过用户给出的条件查询所要删除的数据,并提示用户确认是否删除。

若确定,则把相关信息从数据库中删除。

(4)报表功能。

包括指定同学的选课状况和指定课程的选修状况。

高校同学信息管理系统采纳C/S体系结构,根据客户端设计和数据库设计两部分进行。

客户端负责供应表达规律、显示用户界面信息、访问数据库服务器等,采纳Visual Basic 6.0作为开发工具;服务器端则采纳SQL Server 2000作为数据库管理系统,负责后台的数据处理。

sql上机

sql上机

1、熟悉SQL Server 2005环境,比较和SQL Server 2000的区别。

2、用三种方式启动SQL Server 2005相关服务。

3、熟悉SQL Server Management Studio工具。

4、查看计算机上所装的SQL Server版本。

5、创建服务器组jsj。

6、注册本机服务器和相邻同学的计算机服务器到jsj组中。

7、删除注册的服务器和jsj组。

8、创建登录名jiying并删除。

1、利用SQL Server Management Studio(以下简称SSMS)创建数据库MydbXX,主数据文件和日志文件初始大小均为XX MB,自动增长均为XX%,路径均为d:\(其中XX为自己学号的最后两位,下同)。

2、把1题所建数据库重命名为Mydb。

3、先使数据库Mydb脱机,然后再联机。

4、先使数据库Mydb分离,然后再附加。

5、先备份数据库Mydb,然后再还原。

6、将数据库生成脚本并保存为MydbXX.sql,运行该脚本重建数据库MydbXX。

7、创建数据库维护计划,收缩数据库Mydb。

8、删除数据库MydbXX和Mydb。

9、阅读下列T-SQL语句并理解。

CREATE DA TABASE XSCJ1ON(NAME='XSCJ1_Data',FILENAME='D:\XSCJ1.mdf',SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='XSCJ1_Log',FILENAME='D:\XSCJ1_Log.ldf',SIZE=2MB,MAXSIZE=5MB,FILEGROWTH=1MB)GO10、运行下列脚本创建XSCJ数据库和XS、KC、XS_KC表。

CREATE DA TABASE XSCJGOUSE XSCJCREATE TABLE XS(学号char(6) NOT NULL PRIMARY KEY,姓名char(8) NOT NULL,专业名char(10) NULL,性别bit NOT NULL,出生时间smalldatetime NOT NULL,总学分tinyint NULL,备注nvarchar(255) NULL)CREATE TABLE KC(课程号char(3) NOT NULL PRIMARY KEY,课程名char(16) NOT NULL,开课学期tinyint NOT NULL,学时tinyint NOT NULL,学分tinyint NULL)CREATE TABLE XS_KC(学号char(6) NOT NULL,课程号char(3) NOT NULL,成绩tinyint NULL,学分tinyint NULLPRIMARY KEY(学号,课程号))11、把xscjtables.xls文件中的数据导入10题创建XSCJ数据库的相关表中,并查看表中数据。

SQL上机试题及步骤

SQL上机试题及步骤

.《数据库原理》上机指导二中国管理软件学院2008-11-30目录三练习用SQL语言创建表3-1 练习用SQL语言创建表及设置主键3-1-1 练习用SQL语言创建表3-1-2 练习在创建表时设置主键3-2 练习在数据表中用check关键字设置约束3-3 练习在数据表中设置外键约束以建立多张表之间的联系上机练习题1四练习用SQL语言向表添加数据和修改数据4-1 练习用insert into……..values(….).语句向表添加一行数据,4-2 练习向表添加一行中的部份数据4-3 练习用alter table…add column…语句向表增加一个列4-4 练习用alter table…add check…语句增加一个约束4-5 练习用update…set….where….修改某一列中的某一行数据4-6 练习修改某一列的多行数据五练习删除表、表的约束、字段及数据5-1 练习用alter table …drop…语句删除表中的外键约束5-2 练习用alter table …drop…语句删除表中的约束5-3 练习用alter table .. drop column….. 语句删除表中的字段5-4 练习用delete from….where....语句从表中删除一行数据5-5 练习用delete from….where....in,,....语句从表中删除多行数据5-6 练习用delete from….语句删除表中每一行数据5-7 用drop table..…命令删除表六练习用SQL语言实现数据查询--------第三次上机的内容6-1 练习用select …from…语句从表中检索数据6-2 练习用where子句来限定查询条件6-3 练习多表查询6-4 练习自表查询6-5 练习用like子句实现摸糊查询七练习复杂数据查询--------第三次上机的内容7-1练习用多条select…from.. where…语句实现嵌套查询7-1-1 练习在一张表上的嵌套查询7-1-2 练习在多张表上的嵌套查询7-1-3 练习使用not in关键字的嵌套查询7-1-4 练习使用exists, not exists 关键字的嵌套查询7-2 练习使用统计函数的查询7-2 练习使用统计函数的查询7-3 练习使用group by子句实现分组查询7-4 练习使用having子句实现有条件的分组查询上机练习题0.熟悉SQL查询分析器和对象浏览器0-1 练习使用SQL查询分析器●选择【开始】|【程序】|【MicroSoft SQL Server】|【企业管理器】,●在【菜单】上,选择【工具】|【查询分析器】,便显示图2-1所示连接到SQL Server对话框●在【连接到SQL Server】登录窗口中, 拉下列表柜,,选中一个点号, 这个点号(.)表示本机器名, 点击【确定】按钮。

SQL上机报告

SQL上机报告

SQL上机报告题目:图书馆系统:1、教师可借阅15本书,期限三个月。

学生可借阅5本书,期限一个月。

教师和学生可查看自己的个人信息和借阅状况。

借阅书籍超期一天罚款0.1元。

2、管理员可看到超期人员及超期书籍信息但不能查看个人信息。

由题目绘制出E-R图,如下:此处将教师和学生合并为借阅者,通过增加“身份”属性进行识别。

“教/学号”作为个人信息。

“证件号”为借书证号。

由E-R图确定基本表,如下:借阅者表,Sta:“身份”,Name:“姓名”,ID:“教/学号”,CNum:“证件号”,Num:“已借数目”书表,BNum:“书号”,BName“书名”,CNum“证件号”,Date“借出日期”通过建立视图的方式,实现借阅者查看和管理员查看功能。

代码如下:1、建立借阅者视图CREA TE VIEW BorrowerViewASSELECT,Borrower.ID,um,Borrower.Num,Book.BName,Book.BNum,Book.Date,N'OverDate'=DA TEDIFF(DAY,Book.Date,GETDA TE()),N'Fine'=DA TEDIFF(DA Y,Book.Dat,GETDA TE())*0.1FROM [LibrarySys].[dbo].[Borrower],[LibrarySys].[dbo].[Book]WHERE um='1001' AND um=um通过时间函数DA TEDIFF(DAY,Book.Date,GETDA TE())实现对超期天数和罚款的判断及计算。

并在借阅者视图中另外生成OverDate、Fine两列来显示超期和罚款结果。

2、建立管理员视图CREA TE VIEW AdminViewASSELECTBorrower.Sta,,um,Borrower.Num,Book.BName,Book.BNum,Book.Date,N'OverDate'=DA TEDIFF(DAY,Book.Date,GETDA TE()),N'Fine'=DA TEDIFF(DA Y,Book.Date,GETDA TE())*0.1FROM [LibrarySys].[dbo].[Borrower],[LibrarySys].[dbo].[Book]WHERE um=um AND ((DA TEDIFF(DAY,Book.Date,GETDA TE())>30 AND Borrower.Sta='Student') OR (DA TEDIFF(DAY,Book.Date,GETDA TE())>90 ANDBorrower.Sta='Teacher'))通过语句“((DA TEDIFF(DAY,Book.Date,GETDA TE())>30 AND Borrower.Sta='Student') OR (DA TEDIFF(DAY,Book.Date,GETDA TE())>90 AND Borrower.Sta='Teacher'))”实现对学生/教师身份,及相应超期与否的判断。

实用数据库上机作业(第1次)

实用数据库上机作业(第1次)

实用数据库上机作业一.了解SQL Server中的“企业管理器”和“查询分析器”的启动方法和初步界面信息。

二.打开SQL Server的“企业管理器”,新建一个数据库,名称为“Company”,并更改数据库文件和日志文件的目录到D盘的Company下面。

三.打开Company数据库,了解数据库中的各种对象,例如:表(Table),视图(View),用户(User)等。

四.在表(Table)对象中新建两张表(Department和Employee)。

五.字段要求如下:●Departmentd_id 部门编号char(3) 不为空PKd_name 部门名称varchar(20) 不为空d_mananger 部门经理varchar(20) 可为空Uniqued_phone 部门电话varchar(15) 可为空●Employeee_id 员工编号char(6) 不为空PKe_name 员工姓名varchar(20) 不为空e_sex 员工性别nchar(1) 可为空默认’男’e_hire 雇佣时间smalldatetime 可为空e_wage 基本工资money 可为空e_level 员工级别smallint 可为空Checkd_id 部门编号char(3) 不为空FK注:以上表中字段名最好使用英文或拼音。

六.尝试如下操作:●设置各种约束。

(要求e_level在1~5之间取值)●在表中进行多个主键的设置。

●对Char和Varchar类型录入数据,查看区别●查看空格,空字符和Null之间的区别●在日期数据类型字段中尝试录入正确格式的数据七.建立外键关联在表上面单击右键,选取设计表,设置Department和Employee的外键关联,设置为“级联删除”和“级联更新”。

八.添加数据在Department和Employee表中添加五条左右的记录。

九.测试外键测试建立的外键关联,例如:进行主键表的更新和删除,反映的从表中数据的变化。

SQL上机习题

SQL上机习题

第一套测试题(数据库及sql语言基础操作)首先创建一个数据库(名称为:db1),要求将其数据文件的逻辑名改为:db1_姓名全拼,物理名及路径为:c:\姓名全拼_data.mdf;日志文件的逻辑名改为:log_姓名全拼,物理名及路径为:c:\姓名全拼_log.ldf。

create database db2on(name=db2_h,filename='c:\db2.mdf')log on(name=log_h,filename='c:\log.ldf')完成如下两部分操作:1.基础部分(50分):使用Transact-sql语言在上述数据库中创建表sc,包含三个字段:sno:固定字符长10;cno:可变字符长15;grade;定点小数,不为空,且取值范围限定为0-100之间。

设定实体完整性、参照完整性,并自定义约束名;参照完整性约束违约处理方式均设置为级联方式。

将上述Transact-sql语句保存为:姓名全拼_db1.sql,不需要执行。

create table sc(sno char(10),cno varchar(15),grade numeric(5,2)not null check(grade between0and100),constraint pk_2primary key(sno,cno),foreign key(sno)references student(sno)on delete cascadeon update cascade,foreign key(cno)references course(cno)on delete cascadeon update cascade)2.用Transact-sql语句完成如下操作(以参考书中student,sc,course表为例)(50分):(1)向student表中添加sname列的唯一性约束,自定义约束名;alter table student add constraint unique_sname unique(sname)(2)向student表中增加新列birth,类型为时间日期类型;alter table student add birth datetime(3)将sc表中所有计算机系的学生成绩置为0;update sc set grade=0where sno=(select sno from student where sdept=”计算机”)(4)查询如下满足条件的数据,并将其保存到新表newtable1中。

SQL上机指导(学生版本)

SQL上机指导(学生版本)

目录练习1 SQL Server 2000 的安装 (1)练习2 查询分析器的操作 (2)练习3 SQL Server 服务器的各种操作 (5)练习4 创建数据库 (7)练习5 创建表 (12)练习6 SQL基本语句 (18)练习7 数据库备份及恢复 (21)练习8 用户及权限管理 (24)练习9 创建视图 (25)练习10 创建索引 (28)练习11 创建存储过程 (30)练习12 创建触发器 (33)练习13 用Visual Basic开发数据库应用程序 (34)练习14 用ASP开发网络应用程序 (46)练习15 通过ArcCatalog进行矢量数据的入库 (48)练习16 shp2sde命令行方式向ArcSDE导入数据 (48)练习17 使用shp2sde命令行方式向ArcSDE批量导入数据 (49)练习18 使用sderaster导入栅格数据 (49)练习19 ArcSDE中空间数据的备份与恢复 (51)练习20 ArcView GIS与ArcSDE的连接 (53)附录其它ArcSDE连接方式 (55)1练习1 SQL Server 2000 的安装1.题目在WINDOWS 2000操作系统平台上安装SQL Server 2000个人版。

2.操作过程①将SQL Server 2000的安装光盘放入到光驱中,在弹出的SQL Server自动菜单中,选择“安装SQL Server 2000个人版”,在下一个窗口中选择“安装SQL Server 2000组件”选项。

○2安装程序启动安装向导,开始安装。

③设置计算机名。

输入本地计算机名,如:mycomputer,单击“下一步”按钮,进入“安装选择”窗口。

○4设置安装选择。

选择“创建新的SQL Server实例,或安装客户端工具”选项,单击“下一步”按钮,安装程序要求输入用户信息。

⑤设置用户信息。

在“用户信息”对话框中输入姓名和公司名输入。

但公司名称也可以不输入。

SQL上机

SQL上机

第五章关系数据库标准语言1、利用SQL语句对jbqk.dbf完成以下简单查询1)、显示所有记录的所有字段的信息2)、显示所有记录的姓名、出生年月、部门、职称、基本工资字段的信息。

3)、显示所有记录的姓名、实发工资(等于基本工资+奖金),提示用as实现4)、显示每个部门的部门名称(用distinct)5)、显示“电路实验室”的“研究员”的职工信息6)、按姓名升序显示所有职工信息7)、先按部门升序同一部门再按基本工资降序显示所有职工的信息。

8)、显示基本工资前30%的职工信息9)、显示基本工资前3名的职工信息10)、将jbqk.dbf复制生成jbqk_bak.dbf11)、将基本工资最高的前三位职工的信息存入文本文件gz.txt中12)、将所有职工信息存入数组Q中,并disp memo显示数组信息2、将“销售表”中的日期在2000年12月31日前(含2000年12月31日)的记录复制到新表“销售表2001.dbf”3、在student.dbf中查询学生的姓名和年龄(计算年龄的公式是:2003-year (出生日期),年龄作为字段名),结果保存在一个新表new_table中4、将score1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高到低排序,排序结果存入表new_order5、用SQL语句从rate_exchange.dbf表中提取外币名称,现钞买入价和卖出价三个字段的值并将结果存入rate_ex.dbf(字段顺序为外币名称、现钞买入价、卖出价,字段的类型和宽度与原表相同,记录顺序与原表相同),并将相应的SQL 语句保存为文本文件one.txt6、使用SQL命令从employee表中查询所有已婚(婚否字段值为逻辑真)记录的职工号、姓名、性别和出生日期信息,结果按出生日期降序排序存入表infor_da中,同时把所有命令存入文本文件cmd_da.txt.7、使用SQL命令从employee表中查询年龄最大的三名职工信息:职工号、姓名、年龄,查询结果按年龄降序排序并保存在表infor_db.dbf中,同时把所有命令保存在文本文件cmd_db.txt。

10级《数据库系统》上机作业01—单号

10级《数据库系统》上机作业01—单号

班级:学号:姓名:实验1数据库基本操作1.实验目的(1)了解数据库及其各类逻辑对象、数据库文件与文件组的概念(2)掌握数据库的设计、创建、查看和维护等操作2.背景知识每个SQLServer实例包括4个系统数据库(master、model、tempdb和msdb)以及一个或多个用户数据库。

数据库是建立在操作系统文件上的,SQLServer在发出CREATEDATABASE命令建立数据库时,会同时发出建立操作系统文件、申请物理存储空间的请求;当CREATEDATABASE命令成功执行后,在物理上和逻辑上都建立一个新数据库;然后就可以在数据库中建立各种用户所需要的逻辑组件,如基本表、视图等。

存储数据库数据的操作系统文件可以分为以下三类:(1)主文件:存储数据库的启动信息和系统表,主文件也可以用来存储用户数据。

每个数据库都包含一个主文件。

(2)次文件:保存所有主文件中容纳不下的数据。

如果主文件大到足以容纳数据库中的所有数据,这时候可以没有次文件。

如果数据库非常大,也可以有多个次文件。

使用多个独立磁盘驱动器上的次文件,可将一个数据库中的数据分布在多个物理磁盘上。

(3)事务日志文件:用来保存恢复数据库的日志信息。

每个数据库必须至少有一个事务日志文件(可以有多个)。

3.实验要求(1)创建数据库(使用SQLServerManagementStudio[管理控制台])要求如下:①右击“数据库”项,在快捷菜单中选择“新建数据库”命令。

②输入数据库名③打开“事务日志”选项卡,增加一个日志文件,初始大小为2MB。

④打开“数据文件”选项卡,增加一个文件,初始大小为2MB。

⑤单击“确定”按钮,开始创建数据库。

⑥查看创建后的数据库,查看两个数据库文件的子目录。

(2)修改数据库(使用SQLServerManagementStudio[管理控制台])要求:①数据库重命名②重新设置文件的初始容量、增长方式和最大容量等。

说明:对象资源管理器中展开“数据库”结点,右击要修改数据库,快捷菜单中选择“属性”命令。

数据库第一次上机实验报告

数据库第一次上机实验报告

《数据库系统概论》第一次上机报告一、建表操作,SQL语句如下:○1USE SPJCREATE TABLE S(SNO CHAR(2) PRIMARY KEY,SNAME CHAR(6),STATUS INT,CITY CHAR CHAR(4))INSERT INTO S VALUES('S1','精益',20,'天津'); INSERT INTO S VALUES('S2','盛锡',10,'北京'); INSERT INTO S VALUES('S3','东方红',30,'北京'); INSERT INTO S VALUES('S4','丰泰盛',20,'天津'); INSERT INTO S VALUES('S5','为民',30,'上海');○2use spj;CREATE table P(PNO CHAR(2) PRIMARY KEY, PNAME CHAR(6)NOT NULL,COLOR CHAR(2) NOT NULL,WEIGHT INT NOT NULL);INSERT INTO P VALUES('P1','螺母','红',12); INSERT INTO P VALUES('P2','螺栓','绿',17); INSERT INTO P VALUES('P3','螺丝刀','蓝',14); INSERT INTO P VALUES('P4','螺丝刀','红',14); INSERT INTO P VALUES('P5','凸轮','蓝',40); INSERT INTO P VALUES('P6','齿轮','红',30); ○3use spj;create TABLE J(JNO CHAR(2) PRIMARY KEY, JNAME CHAR(8) NOT NULL,CITY CHAR(4)); INSERT INTO J VALUES('J1','三建','北京'); INSERT INTO J VALUES('J2','一汽','长春');INSERT INTO J VALUES('J3','弹簧厂','天津'); INSERT INTO J VALUES('J4','造船厂','天津'); INSERT INTO J VALUES('J5','机车厂','唐山'); INSERT INTO J VALUES('J6','无线电厂','常州'); INSERT INTO J VALUES('J7','半导体厂','南京'); ○4create TABLE SPJ(SNO CHAR(2),PNO CHAR(2),JNO CHAR(2),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)); INSERT INTO SPJ VALUES('S1','P1','J1',200); INSERT INTO SPJ VALUES('S1','P1','J3',100); INSERT INTO SPJ VALUES('S1','P1','J4',700); INSERT INTO SPJ VALUES('S1','P2','J2',100); INSERT INTO SPJ VALUES('S2','P3','J1',400); INSERT INTO SPJ VALUES('S2','P3','J2',200); INSERT INTO SPJ VALUES('S2','P3','J4',500); INSERT INTO SPJ VALUES('S2','P3','J5',400); INSERT INTO SPJ VALUES('S2','P5','J1',400); INSERT INTO SPJ VALUES('S2','P5','J2',100); INSERT INTO SPJ VALUES('S3','P1','J1',200); INSERT INTO SPJ VALUES('S3','P3','J1',200); INSERT INTO SPJ VALUES('S4','P5','J1',100); INSERT INTO SPJ VALUES('S4','P6','J3',300); INSERT INTO SPJ VALUES('S4','P6','J4',200); INSERT INTO SPJ VALUES('S5','P2','J4',100); INSERT INTO SPJ VALUES('S5','P3','J1',200); INSERT INTO SPJ VALUES('S5','P6','J2',200); INSERT INTO SPJ VALUES('S5','P6','J4',500);2.5(1)求供应工程J1零件的供应商号码SNO;SELECT distinct SNO FROM SPJ WHERE JNO='J1'(2)求供应工程J1零件P1的供应商号码SNO;SELECT DISTINCT SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO;SELECT SNO FROM SPJ,P WHERE SPJ.PNO=P.PNO AND JNO='J1' AND COLOR='红'; (4)求没有使用天津供应商生产的红色零件的工程号JNO;SELECT DISTINCT JNO FROM SPJ WHERE JNO NOT IN (SELECT SPJ.JNOFROM SPJ,S,PWHERE SPJ.SNO=S.SNO AND SPJ.PNO=P.PNOAND CITY='天津' AND COLOR='红');(5)求至少使用了供应商S1所供应的全部零件的工程号SNO;select distinct JNO from SPJ ZWHERE NOT EXISTS(SELECT * FROM SPJ X WHERE SNO='S1'AND NOT EXISTS(SELECT * FROM SPJ YWHERE Y.PNO=X.PNO AND Y.JNO=Z.JNO))3.5(1)找出所有供应商的姓名和所在城市;SELECT SNAME,CITY FROM S(2)找出所有零件的名称,颜色,重量;SELECT PNAME,COLOR,WEIGHT FROM P(4)找出使用供应商S1所供应零件的工程号码;select jno from spj where sno='s1'(5)找出上海厂商供应的所有零件号码;select distinct pno from spjwhere sno in (select sno from s where city='上海')(6)找出使用上海产的零件的工程名称;select jname from j,spj,swhere j.jno=spj.jno and spj.sno=s.sno and s.city='上海'(7)找出没有使用天津产的零件的工程号码;select jno from j where not exists(select * from spj where spj.jno=j.jno and sno in(select sno from s where city='天津'))(8)把全部红色零件的颜色改成蓝色;update p set color='蓝' where color='红'(9)由S5供给J4的零件P6改为由S3供应,请作必要的修改;update spj set sno='s3'where sno='s5'and jno='j4'and pno='p5'(10)从供应商关系中删除S2的记录,并从供应情况关系中删除相应的记录;delete from spj where sno='s2'delete from s where sno='s2'(11)请将(S2,J6,P4,200)插入供应情况关系;insert into spj values(S2,P4,J6,200);。

sql数据库系统原理上机实验(综合版)

sql数据库系统原理上机实验(综合版)

《数据库原理》实验指导书《数据库原理》上机实验上机学时:8学时一、上机性质、目的及任务:通过上机实践,配合课堂教学内容加深对数据库的基本概念和基本技术的理解,掌握数据库系统设计的基本思想和基本步骤,熟悉关系数据库的标准语言SQL,并对典型的关系数据库管理系统有较深入的了解,使学生的动手能力有较大的提高。

二、面向专业:计算机类各专业三、实验指导书:见下页四、实验内容:实验一SQL数据定义 (3)实验二SQL简单查询 (6)实验三SQL 复杂查询 (7)实验四SQL 数据更新 (8)实验一SQL数据定义一、实验目的(1)认识几种常见的数据库管理系统,熟悉它们的使用界面;(2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。

(3)熟悉SQL数据定义语言(DDL)二、实验内容(1)分别在Access 和SQL SERVER2005 中建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。

(2)用SQL语言进行基本表结构的定义、修改、删除,索引的建立和删除三、实验步骤:分别在ACCESS数据库管理系统和SQL SERVR 2005环境下利用图形操作界面(非SQL语句)实现以下操作:1、创建用于学生管理的数据库,数据库名为XSGL,包含学生信息,课程信息和选课信息。

数据库XSGL包含下列3 个表:(l)student:学生基本信息。

(2)course:课程信息表。

(3)sc:学生选课表。

各表的结构分别如表1、表2和表3 所示。

表1 学生信息表:student列名数据类型长度完整性约束sno 字符(文本)型8 主键sname 字符(文本)型 4 不为空ssex 字符(文本)型 1sage 整数(数值)型sdept 字符型10表2 课程信息表:course列名数据类型长度完整性约束cno 字符(文本)型 2 主键cname 字符(文本)型30credit 整数(数值)型cpno 字符(文本)型 3表3 学生选课表:sc列名数据类型长度完整性约束sno 字符(文本)型8 主属性,外键cno 字符(文本)型 2 主属性,外键grade 整数(数值)型是提示:在不使用SQL语句创建表的情况下,可通过ACCESS中的关系(菜单—工具—关系)和SQL SERVER 2005中的数据库关系图(数据库节点展开—数据库关系图)实现外键的创建。

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

SQL第九周第一次上机作业
注:请把补充习题调试通过的题放入一WORD文档,发送到共享机。

课后习题:
6.利用显式事务管理实现修改一条记录中的某个字段的值,然后取消已做的修改。

use books
go
--查询此时表中的记录
select * from 读者基本信息表
--进入显示事务模式
begin transaction 事务_取消数据修改
update 读者基本信息表 set 所在部门='计算机系'where 所在部门 ='外语系' --查询此时表中的记录
select * from 读者基本信息表
--回滚此事务
rollback transaction 事务_取消数据修改
--查询此时表中的记录
select * from 读者基本信息表
7.利用隐式事务管理实现在图书基本信息表中先插入一条记录,并查询此时的记录信息,然后取消此插入操作,再查询此时的记录信息。

use books
go
--进入隐式事务模式
set IMPLICIT_TRANSACTIONS on
--创建一个新的数据库表example1
insert into 读者基本信息表(读者编号,姓名)values('jsj07','王一飞')
insert into 读者基本信息表(读者编号,姓名)values('jsj09','李丽萍')
--查询此时表中的记录
--查询此时的数据表情况
select * from 读者基本信息表
--取消事务后再查询此时的数据表情况
rollback
select * from 读者基本信息表
补充习题:
现有图书管理数据库的三个关系模式:(1、2步已做好,附加book000.mdf即可)图书(总编号,分类号,书名,作者,出版单位,单价)
读者(借书证号,单位,姓名,性别,职称,地址)
借阅(借书证号,总编号,借书日期)
1.利用SQL Server 2000创建图书管理库和图书、读者和借阅三个基本表的表结构:2.利用SQL Server 2000在三个表中分别插入以下所给元组:
1) 找出姓李的读者姓名和所在单位。

SELECT 姓名,单位
FROM 读者
WHERE 姓名 LIKE '李%'
2) 列出图书库中所有藏书的书名及出版单位。

SELECT 书名,出版单位
FROM 图书
3) 查找高等教育出版社的所有图书及单价,结果按单价降序排序。

SELECT 单价,出版单位
FROM 图书
where 出版单位='高等教育出版社' order by 单价 DESC
4) 查找价格介于10元和20元之间的图书种类,结果按出版单位和单价升序排序。

SELECT 单价,出版单位
FROM 图书
where 单价 between 10 and 20 order by 单价
5) 查找书名以计算机打头的所有图书和作者。

SELECT 书名
FROM 图书
where 书名 like '计算机%'
7) 查找所有借了书的读者的姓名及所在单位。

Select 书名,读者.姓名 as 借阅者 , 读者.单位 from 图书,读者,借阅where 图书.总编号=借阅.总编号 and 读者.借书证号=借阅.借书证号
go
8) 找出李某所借图书的所有图书的书名及借书日期。

Select 书名,读者.姓名 as 借阅者 , 读者.单位 ,借书日期 from 图书,读者,借阅where 图书.总编号=借阅.总编号 and 读者.借书证号=借阅.借书证号
and 读者.姓名 like '李%'
go
9) 查询1997年10月以后借书的读者借书证号、姓名和单位。

Select 读者.借书证号,读者.姓名 as 借阅者 , 读者.单位 ,借书日期 from 图书,读者,借阅
where 图书.总编号=借阅.总编号 and 读者.借书证号=借阅.借书证号
and (year(借书日期)*12+month(借书日期))-(1997*12+10) > 0
10)找出借阅了FoxPro大全一书的借书证号。

Select 读者.借书证号 from 图书,读者,借阅
where 图书.总编号=借阅.总编号 and 读者.借书证号=借阅.借书证号
and 图书.书名 = 'FoxPro大全'
11)找出与赵正义在同一天借书的读者姓名、所在单位及借书日期。

S elect 读者.姓名 as 借阅者 , 读者.单位 ,借书日期 from 图书,读者,借阅where 图书.总编号=借阅.总编号 and 读者.借书证号=借阅.借书证号
and 借书日期 = (Select 借书日期 from 借阅,读者
where 读者.姓名 = '赵正义'and 读者.借书证号=借阅.借书证号)
12) 查询1997年7月以后没有借书的读者借书证号、姓名及单位。

Select 读者.借书证号,读者.姓名 as 借阅者 , 读者.单位 ,借书日期 from 图书,读者,借阅
where 图书.总编号=借阅.总编号 and 读者.借书证号=借阅.借书证号
and 读者.借书证号 NOT IN (Select 读者.借书证号 from 图书,读者,借阅
where 图书.总编号=借阅.总编号 and 读者.借书证号=借阅.借书证号
and (year(借书日期)*12+month(借书日期))-(1997*12+7) > 0 )
go
13) 求科学出版社图书的最高单价、最低单价、平均单价。

Select max(单价) as 最高价 ,min(单价) as 最低价 ,avg(单价) as 平均价 from 图书
where 出版单位 = '科学出版社' group by 出版单位
go
14) 求信息系当前借阅图书的读者人次数。

Select count(*) as 人数 from 图书 ,借阅,读者
where 图书.总编号=借阅.总编号 and 读者.借书证号=借阅.借书证号and 读者.单位 ='信息系'
15)求出各个出版社图书的最高价格、最低价格和册数。

Select 出版单位, max(单价) as 最高价,min(单价) as 最低价, count(*) as 册数from 图书 group by 出版单位
16) 分别找出各单位当前借阅图书的读者人数。

Select 读者.单位, count(*) as 人数
from 借阅,读者 where 读者.借书证号=借阅.借书证号
group by 读者.单位
17)找出当前至少借阅了2本图书的读者及所在单位。

18)select 读者.姓名,读者.单位
from 读者
where 读者.姓名 in (select 读者.姓名 from 读者,借阅
where 借阅.借书证号=读者.借书证号
group by 读者.姓名 having count(*)>=2)
18) 分别找出借书人次超过1人次的单位及人次数。

Select 读者.单位, count(*) as 人数
from 借阅,读者 where 读者.借书证号=借阅.借书证号
group by 读者.单位 having count(*)>1。

相关文档
最新文档