




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库系统原理实验报告班级姓名学号信息与电子工程学院实验1 sql server熟悉和数据库创建一、实验目的熟悉sql server 2005提供的服务管理器、企业管理器、查询分析器、客户端和服务器端网络实用工具等常用管理工具的使用。理解客户/服务器模式,理解面向连接与非面向连接的差别。理解交互式sql的工作机制。能够理解命名管道协议与tcp/ip 协议的差别。能够登陆上sql server数据库服务器。二、实验内容1、启动sql server 服务。2、打开sql server的企业管理器,连接上 sql server服务器。展开左边树状窗口的各级结点,观察右边内容窗口的变化。3、打开sql
2、 server 的查询分析器,用 use命令打开样例数据库 pubs。4、在查询窗口输入 exec sp_help ,运行后察看结果。5、在查询窗口输入 select * from authors ,运行后察看结果。三、实验结果3、当不确定当前所操作的是哪个数据库,可使用 use来定位到某数据库。4、5、查询某张表的所有列。实验2简单查询、实验目的:熟悉sql server的企业管理器和查询分析器的用户界面,掌握用企业管理器和查询分析器创建数据库,修改数据库和删除数据库的方法。二、实验内容分别使用sql server 2005 企业管理器和tsql语句,按下列要求创建、修改和删除用 户数据库。
3、1、创建名称为 company的数据库,数据库中包含一个数据文件,逻辑文件名为 company_data ,磁盘文件名为, 文件初始容量为 5mb,最大容量为15mh文件容量递 增值为1mb事务日志文件的逻辑文件名为company_log ,磁盘文件名为,文件初始容量为5mh最大容量为10mb,文件容量递增值为1mb2 、对该数据库进行修改:添加一个数据文件,逻辑文件名为company2_data ,磁盘文件名为,文件初始容量为1mh最大容量为 5mh文件容量递增值为1mb;将日志文件company_log的最大容量增加为 15mb,文件容量递增值为 2mb3 、在company数据库中添加一
4、个文件组 tempgroup ,并向该文件组中添加一个容量为3mb最大容量为10mb,递增量为1mb的数据文件,该数据文件的逻辑文件名为 company3_data ,磁盘文件名为。4 、在company数据库中删除数据文件company2_data。5、删除数据库company。6、采用默认设置创建数据库company。三、实验结果1、create database companyon ( name=company_data,filename='d:microsoft sql servermssqldata',size=5mb,maxsize=15mb,filegrowth=
5、1mb )log on (name=company_log,filename='d:microsoft sql servermssqldata',size=5mb,maxsize=10mb,filegrowth=1mb );2、alter database companyadd file(name=company2_data,filename='d:microsoft sql servermssqldata',size=1mb,maxsize=5mb,filegrowth=1mb)alter database companymodify file(name=
6、39;company_log',maxsize=15mb,filegrowth=2mb);3、alter database companyadd filegroup tempgroupalter database companyadd file(name='company3_data',filename='d:microsoft sql servermssqldata',size=3mb,maxsize=10mb,filegrowth=1mb)to filegroup tempgroup;4、alter database company remove f
7、ile company2_data;5、drop database company;6、create database company;实验3创建和修改数据表、实验目的:熟悉有关数据表的创建和修改等工作,理解数据库模式的概念,了解主键约束、外键约束、unique约束和check约束的创建和应用。要求学生熟练掌握使用企业管理器和t 一sql语句create table 、alter table 及drop table 语句对数据表进行管理。、实验内容分别在sql server2005企业管理器和在查询分析分析器中使用tsql语句完成以下操作:员工人事表employeeemp_nochar(5)n
8、ot nullprimary key员工编号emp_namevarchar(10)not null员工姓名sexcharnot null性别deptvarchar(10)not null所属部门titlevarchar(10)not null职称date_hireddatetimenot null雇佣日birthdaydatetimenull生日salaryintnot null薪水telephonevarchar(20)null电话addrvarchar(50)null住址客户表customercust_idchar(5)not nullprimary key客户号cust_namevarc
9、har(20)not null客户名称addrvarchar(40)not null客户住址tel_novarchar(20)not null客户电话zipchar(6)null邮政编码销售主表salesorder_nointnot nullprimary key订单编号cust_idchar(5)not null客户号sale_idchar(5)not null业务员编号tot_amtnumeric(9,2)not null订单金额order_datedatetimenot null订货日期销货明细表sale_itemorder_nointnot nullprimary key订单编号pro
10、d_idchar(5)not nullprimary key产品编号qtyintnot null销售数量unit_pricenumeric(7,2)not null单价order_datedatetimenull订单日期产品名称表productprod_idchar(5)not nullprimary key产品编号prod_namevarchar(20)not null产品名称1、在数据库company中创建以上五张表,并设置各表的主键。2、在销售主表 sales中添加字段"发票号码"invoice_no , char(10) , not null 。3 、添加外键约束:
11、a.在销售主表sales的业务员编号字段 sale_id上添加外键约束,参照字段为员工表 employee中的字段员工编号 emp_no,约束名为fk_sale_id 。b.在销售主表 sales的客户号字段 cust_id 上添加外键约束,参照字段为客户表 customer中的字段客户号 cust_id ,约束名为fk_cust_id 。c.在销售明细表sale_item的订单编号字段order_no上添加外键约束,参照字段为销售主表sales中的字段订单编号order_no ,约束名为fk_order_no 。d.在销售明细表sale_item的产品编号字段prod_id上添加外键约束,参
12、照字段为产品名称表product中的产品编号字段 prod_id ,约束名为fk_prod_id 。4 、添加核查约束:a.将员工表employee中的薪水字段salary 的值限定在1000至10000间,约束名为 ck_salary 。b.将员工表employee中的员工编号字段 emp_n。设定为以"e"字母开头,后面跟5 位数的编号,约束名为ck_emp_no。c.将员工表employee中的性别字段设定这取值只能是“男”和“女”。约束名为ck_sex。d.将销售主表sales中的发票号码字段invoice_no设定为以“i ”字母开头,后面跟9位数的编号,约束名为
13、 ck_inno 。5、为销售主表sales中的字段发票号码invoice_no 设置为唯一约束,约束名为un_inno。 三、实验结果1、create table employee(emp_no char(5) not null primary key,emp_name varchar(10) not null,sex char(2) not null,dept varchar(10) not null,title varchar(10) not null,date_hired datetime not null,birthday datetime null,salary int not n
14、ull,telephone varchar(20) null,addr varchar(50) null);create table customer(cust_id char(5) not null primary key,cust_name varchar(20) not null,addr varchar(40) not null,tel_no varchar(20) not null,zip char(6) null);create table sales(order_no int not null primary key,cust_id char(5) not null,sale_i
15、d char(5) not null,tot_amt numeric(9,2) not null,order_date datetime not null);create table sale_item(order_no int not null,prod_id char(5) not null,qty int not null,unit_price numeric(7,2) not null,order_date datetime null,primary key(order_no,prod_id);create table product(prod_id char(5) not null
16、primary key,prod_name varchar(20) not null);2、alter table sales add invoice_no char(10) not null;3、a、alter table salesadd constraint fk_sale_idforeign key (sale_id) references employee(emp_no);b、alter table salesadd constraint fk_cust_idforeign key (cust_id) references customer(cust_id);c、alter tabl
17、e sale_itemadd constraint fk_order_noforeign key (order_no) references sales(order_no);d、alter table sale_itemadd constraint fk_prod_idforeign key (prod_id) references product(prod_id);4、a、alter table employeeadd constraint ck_salary check (salary between 1000 and 10000);b、alter table employeeadd co
18、nstraint ck_emp_no check(emp_no like 'e0-90-90-90-90-9');c、alter table employeeadd constraint ck_sex check(sex like(男'' 女');d、alter table salesadd constraint ck_innocheck(invoice_no like 'i0-90-90-90-90-90-90-90-90-9');5、alter table salesadd constraint un_inno unique(invo
19、ice_no);实验4简单的单表查询、实验目的:I熟练掌握用select语句实现简单的单表查询。掌握 select子句、from子句、where子 句及order by 子句的用法。.、实验内容运行查询文件,生成上机必要的数据,然后完成以下操作。1、查找所有经理的姓名、职称、薪水。2 、在销售主表sales中查找销售金额大于等于10000元的订单。3 、在员工表employee中查找薪水在 4000至8000元之间的员工。4 、在员工表employee中查找住址为上海、北京、天津这三个城市的员工。5、在客户表customer中查找住址不在上海、北京、天津这三个城市的客户。6、在员工表emplo
20、yee中查找姓“王”用姓名最后一个字为“功”的员工。7、在客户表customer中查找姓“刘”的客户名称、电话。8、查找出职称为“经理”或“职员”的女工的信息。9、查找薪水最高的前三条员工记录。10、查找订单金额最高的前10%勺订单记录。11、查找员工表中所属部门(去掉重复记录)。12、查找员工表中的所有记录,并按薪水由低到高进行排序。卜、实验结果1、select emp_name,title,salary from employee where title ='经理'2、select * from sales where tot_amt>10000;3、select *
21、 from employee where salary between 4000 and 8000;4、 select * from employee where addr in('上海','d匕京',' 天津');5、 select * from customer where addr not in(上海, 北京, 天津');6、select * from employee where emp_name like '王%£'7、select cust_name,tel_no from customer wher
22、e cust_name like '刘 %'8、select * from employee where title in ('经理','职员')and sex=' 女'9、select top 3 * from employee order by salary desc;10、select top 10 percent * from sales order by tot_amt desc;11、select distinct dept from employee;12、select * from employee order b
23、y salary;实验5复杂的单表查询、实验目的I熟练掌握select查询语句中的group by 子句、having子句的用法,以及汇总函数的使 用。、实验内容1、在员工表 employee中统计员工人数。2、统计各部门员工的员工人数及平均薪水。3、查询销售业绩超过 10000元的员工编号。4、计算每一产品销售数量总和与平均销售单价。5、统计各部门不同性别、或各部门、或不同性别或所有员工的平均薪水(在group by 子句中使用cube关键字)。6、统计各部门不同性别、或各部门或所有员工的平均薪水(在group by 子句中使用rollup 关键字)。7、计算出一共销售了几种产品。8、显示s
24、ale_item 表中每种产品的订购金额总和,并且依据销售金额由大到小排列来显 示出每一种产品的排行榜。9、计算每一产品每月的销售金额总和,并将结果按销售(月份,产品编号)排序。10、查询每位业务员各个月的业绩,并按业务员编号、月份降序排序。三、实验结果1、select count(emp_no) 总人数 from employee;2、select dept,count(emp_no) 员工人数,avg(salary) 平均薪水 from employee group by dept;3、select sale_id,tot_amt from where tot_amt>10000;4
25、、select prod_id,count(prod_id)销售总量,avg(unit_price)平均单价from group by prod_id;5、 select sex,title,avg(salary)平均薪水 from group by sex,title with cube;6、select case when(grouping(sex)=1)then 'all'else isnull(sex,'unknown')end as sex,case when(grouping(title)=1) then 'all'else isnu
26、ll(title,'unknown')end as title,avg(salary) as平均薪水from employeegroup by sex,title with rollup;7、 select distinct count(prod_id)种类数 from sale_item;8、select prod_id,sum(qty * unit_price)总额from sale_itemgroup by prod_idorder by sum(unit_price) desc;9、select prod_id,month(order_date),sum(unit_pr
27、ice)from sale_itemgroup by prod_id,month(order_date)order by prod_id,month(order_date) desc;10、select sale_id,month(order_date), sum(tot_amt)from salesgroup by sale_id,month(order_date)order by sale_id,month(order_date) desc;实验6连接查询一、实验目的掌握使用连接的方法从多个表中查询数据。理解内连接、外连接(包括左外连接、 右外连接和全外连接)、自身连接的概念和使用。 要求
28、学生熟练掌握在 from子句和在where子句 中指定连接条件的这两种方法。二、实验内容1、查找出employee表中部门相同且住址相同的女员工的姓名、性别、职称、薪水、住址。2、检索product表和sale_item 表中相同产品的产品编号、产品名称、数量、单价。3、检索product表和sale_item 表中单价高于 2400元的相同产品的产品编号、产品名称、数量、单价。4、查询在每张订单中订购金额超过24000元的客户名及其地址。5、查找有销售记录的客户编号、名称和订单总额。6、每位客户订购的每种产品的总数量及平均单价,并按客户号,产品号从小到大排列。7、查找在1997年中有销售记录
29、的客户编号、名称和订单总额。8、分别使用左向外连接、右向外连接、完整外部连接检索product表和sale_item 表中单价高于2400元的相同产品的产品编号、产品名称、数量、单价。并分析比较检索的结果。三、实验结果1、select ,from employee a,employee b where = and = and =' 女';2、select ,prod_name,qty,unit_pricefrom sale_item,product where =;3、select ,prod_name,qty,unit_pricefrom sale_item,product
30、where unit_price>2400;4、select cust_name,addr from customerwhere cust_id in (select cust_id from sales where tot_amt>24000);5、select ,cust_name,tot_amt from customer a,sales b where =;6 、 select prod_id,cust_id,qty,unit_pricefrom sale_item,sales order byprod_id,cust_id;7、select ,cust_name,tot_
31、amtfrom customer a,sales b where = and convert(char(4),order_date,120)='1997'8、左外连接select ,from product a left outer join sale_item b on= and >2400;右外连接select ,from product a right outer join sale_item b on = and >2400;完整外部连接select ,from product a full join sale_item b on=and >2400;
32、实验7嵌套查询三、实验目的掌握select语句的嵌套使用,实现多表的复杂查询,进一步理解select语句的高级使用方法。|四、实验内容1、由sales表中查找出销售金额最高的订单。2、由sales表中查找出订单金额大于“ e0013业务员在1996/10/15这天所接任一张订单的金额”的所有订单,并显示承接这些订单的业务员和该条订单的金额。3、找出公司女业务员所接的订单。4、找出目前业绩未超过200000元的员工。5、在销售主表sales中查询销售业绩最高的业务员编号及销售业绩。6、找出目前业绩超过232000元的员工编号和姓名。7、查询订购的产品至少包含了订单10003中所订购产品的订单。8、查询末承接
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024-2025管理人员岗前安全培训考试试题及答案考点提分
- 2025厂级安全培训考试试题附参考答案(考试直接用)
- 2025年工厂安全培训考试试题及答案高清版
- 2025年建筑工程劳务分包合同范本
- 2025终止租赁合同协议书范本
- 2025二手商业店铺买卖合同范本
- 2025建筑工程混凝土购销合同
- 2025租赁经营合同(3)新版:全面优化与合作方共赢策略
- 2025年钻采装备项目建议书
- 2025精英企业合同协议
- 连云港2025年连云港市赣榆区事业单位招聘31人笔试历年参考题库附带答案详解
- 8.1薪火相传的传统美德 课件-2024-2025学年统编版道德与法治七年级下册
- 湖北省武汉市2025届高中毕业生四月调研考试语文试卷及答案(武汉四调)
- 食堂负面清单管理制度
- 2025年安徽省示范高中皖北协作区第27届联考 生物学(含解析)
- 2025年度专业技术人员继续教育公需科目考试题(附答案)
- 2025年中考语文《教材字音、字形》梳理
- 2024年上半年教资科目一试题
- 施工员顶岗实习报告范文
- 毽球知到智慧树章节测试课后答案2024年秋武汉职业技术学院
- 雾化吸入疗法合理用药专家共识(2024版)课件
评论
0/150
提交评论