ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:309.27KB ,
资源ID:5598289      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5598289.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库报告.docx

1、数据库报告实 验 报 告 ( 2012 / 2013 学年 第 一 学期)课程名称数据库原理实验名称1、数据库表的建立与管理2、查询技术的应用3、数据库的表中数据的操作4、视图练习实验时间12月5、11月28、11月21 指导单位指导教师 学生姓名 班级学号学院(系) 理学院专 业数据库原理第一次实验一、实验内容:数据库表的建立与管理二、实验目的:学习数据库及表的建立、删除、更新等操作。注:本次实验题目,除了特殊要求,以T-SQL为主,并将所有语句标注好题号,留存在查询界面上,方便检查。三、实验题目:1、创建一名为test的数据库;2.在“test”数据库中新建一张部门表 “部门”,输入列:n

2、ame(CHAR,10位),ID(CHAR,7位),manager (CHAR,10位)各列均不能为空值。3、在“test”数据库中新建一张员工表,命名为“员工”。在表中输入以下各列: name(CHAR,10位),persONID(CHAR,7位),Sex(CHAR,7位),birthday(datetime),deptID(CHAR,7位),各列均不能为空值。4、修改表的操作练习:1)将部门表中的列ID设为主键;2)将员工表中persONID设为主键,并将deptID设置为外键,关联到部门表上的ID列;3)在部门表中,添加列quantity(CHAR, 5); 4) 删除员工表中的列sex

3、; 5)修改员工表中列name为(varCHAR,8)5、1)在数据库test中新建表scores,输入以下列:ID (CHAR,8位) 主键, C语言numeric(3,1) ,IT英语 numeric(3,1) ,数据库 numeric(3,1) ,软件基础 numeric(3,1) ,平均成绩 。四门学科都不能为空,并且平均成绩为四门学科的平均分; 2)为表scores中的四项成绩添加default约束:使其默认值为0; 3)为表scores中的四项成绩添加check约束:是每项成绩在0到100之间。6、删除department表,并删除数据库test。4、实验过程(1)、 CREATE

4、 DATABASE test USE test(2)、CREATE TABLE department (ID CHAR(7) NOT NULL, name CHAR(10) NOT NULL,manager CHAR(10) NOT NULL)(3)、 CREATE TABLE worker (persONID CHAR(7) NOT NULL, name CHAR(10) NOT NULL, sex CHAR(7) NOT NULL, birthday datetime NOT NULL, deptID CHAR(7) NOT NULL) (4)、 ALTER TABLE departmen

5、t ADD PRIMARY KEY(ID)ALTER TABLE worker ADD PRIMARY KEY( persONID )ALTER TABLE worker ADD constraint 外键约束 FOREIGN KEY(deptID) REFERENCES department(ID)ALTER TABLE department ADD quantity CHAR(5) ALTER TABLE worker DROP COLUMN sex ALTER TABLE worker ALTER COLUMN name varCHAR(8) (5)、CREATE TABLE score

6、s (ID CHAR(8) PRIMARY KEY NOT NULL, C语言 numeric(3,1) NOT NULL, IT英语 numeric(3,1) NOT NULL, 数据库 numeric(3,1) NOT NULL, 软件基础 numeric(3,1) NOT NULL, 平均成绩 AS(C语言+IT英语+数据库+软件基础)/4) ALTER TABLE scores ADD CONSTRAINT C语言_default DEFAULT0FOR C语言ALTER TABLE scores ADD CONSTRAINT IT英语_default DEFAULT0FOR IT英语

7、ALTER TABLE scores ADD CONSTRAINT 数据库_default DEFAULT0FOR 数据库ALTER TABLE scores ADD CONSTRAINT 软件基础_default DEFAULT0FOR 软件基础ALTER TABLE scores ADD CONSTRAINT C语言 CHECK (C语言 BETWEEN 0 AND 100)ALTER TABLE scores ADD CONSTRAINT IT英语 CHECK (IT英语 BETWEEN 0 AND 100)ALTER TABLE scores ADD CONSTRAINT 数据库 CH

8、ECK (数据库 BETWEEN 0 AND 100)ALTER TABLE scores ADD CONSTRAINT 软件基础 CHECK (软件基础 BETWEEN 0 AND 100)(6)、DROP table department casecade constraint 外键约束;USE MASTER; DROP DATABASE test;5、 由以下可见,数据库test及表已建立完成 六 心得体会 删除department表的过程未能实现,命令不能删除外键,和伙伴讨论没有结果,不过打开建立的表就可以右键轻松删除了,其他的比较顺利。 数据库原理第二次实验一、实验内容:查询技术的应

9、用二、实验目的:1、 掌握SELECT语句的基本语法2、 掌握连接查询的表示3、 掌握数据汇总的方法4、 掌握SELECT语句的GROUP BY子句的作用和使用方法5、 掌握SELECT语句的ORDER BY 子句的作用和使用方法三、实验内容1、创建员工管理数据库(compy)及相应的四张表:Employees:员工信息表Departments:部门信息表Salary:员工薪水信息表PurchASe:员工购物信息表各表中属性的定义可根据表中的记录加以设定,均以编号为主键,例如可定义Departments表结构如下:列名数据类型长度是否允许空值说明部门编号char3否部门编号 主键部门名称cha

10、r 20否部门名称备注text16是备注向表中填入数据 A、向Departments表中加入表2所示的记录编号部门名称备注1财务部NULL2人力资源部NULL3生产部NULL4采购部NULL5销售部NULL B、向Employees表中加入表1所示的记录编号姓名地址邮编电话部门号出生日期性别000001张晓强上海230027333355621956-1-11010008柳树合肥230027313135911966-1-11002001许静北京230026313235911972-1-11020018李可武汉230026369356411950-1-10102201张三丰西安1234563635

11、34651962-1-10102208白眉南京123456345896551955-1-11108991胡适昆明123456456892131969-1-11111006成吉思汗海口123456345814551964-1-11210678萧然成都123456345456531967-1-11C、向Salary表中加入表3所示的记录编号收入支出0000012100123010008158288002001256918502001819877910220120661081022082980210108991325928111100628601982106782347180D、向Purchase表

12、中加入表4所示的记录员工编号商品购买数量0000010130000010310020010150200180361089911110000011130200180152016780210200181122、简单查询 (1)查询1956,1962,1964年出生的员工记录; (2)查询性别为1的员工记录; (3)查询名字中包含白字的所有雇员信息; (4)查询不姓李或者胡,并且名字为三个字的雇员的记录(注:“姓名”列的数据类型必须定义为varCHAR,想想为什么? )。3、连接查询的使用(1)查询每个雇员的情况以及其薪水情况(2)查询收入高于编号为102201的员工收入的职工信息4数据汇总(1)求

13、财务部员工的平均净收入(2)求财务部雇员的总人数5GROUP BY ,ORDER BY 子句的使用(1)求各部门的雇员数(2)将各雇员的情况按薪水由低到高排列6、(选做题)查找比所有财务部的员工的收入都高的员工的姓名;4、实验过程Sql语言如下:1、 CREATE DATABASE compyuse compyCREATE TABLE Departments(部门编号 CHAR(10) PRIMARY KEY NOT NULL,部门名称 CHAR(20) NOT NULL,备注 text);CREATE TABLE Employees(编号 CHAR(10) PRIMARY KEY NOT N

14、ULL,姓名 VARCHAR(20) NOT NULL,地址 CHAR(30) NOT NULL,邮编 CHAR(10) NOT NULL,电话 CHAR(11) NOT NULL,部门号 CHAR(3) NOT NULL,出生日期 DATE NOT NULL,性别 CHAR(2) NOT NULL);CREATE TABLE Salary(编号 CHAR(10) PRIMARY KEY NOT NULL,收入 INT default 0,支出 INT default 0,);CREATE TABLE Purchase(员工编号 CHAR(10) NOT NULL,商品 CHAR(3) NOT

15、 NULL,PRIMARY KEY(员工编号,商品);INSERT INTO Departments VALUES(1,财务部,NULL);INSERT INTO Departments VALUES(2,人力资源部,NULL);INSERT INTO Departments VALUES(3,生产部,NULL); INSERT INTO Departments VALUES(4,采购部,NULL);INSERT INTO Departments VALUES(5,销售部,NULL);INSERT INTO Employees VALUES(000001,张晓强,上海,230027,33335

16、56,2,1956-1-1,1)INSERT INTO Employees VALUES(010008,柳树,合肥,230027,3131359,1,1966-1-1,1)INSERT INTO Employees VALUES(002001,许静,北京,230026,3132359,1,1972-1-1,1)INSERT INTO Employees VALUES(020018,李可,武汉,230026,3693564,1,1950-1-1,0)INSERT INTO Employees VALUES(102201,张三丰,西安,123456,3635364,5,1962-1-1,0)INS

17、ERT INTO Employees VALUES(102208,白眉,南京,123456,3458965,5,1955-1-1,1)INSERT INTO Employees VALUES(108991,胡适,昆明,123456,4568921,3,1969-1-1,1)INSERT INTO Employees VALUES(111006,成吉思汗,海口,123456,3458145,5,1964-1-1,1)INSERT INTO Employees VALUES(210678,萧然,成都,123456,3454565,3,1967-1-1,1);INSERT INTO Salary V

18、ALUES(000001,2100,123)INSERT INTO Salary VALUES(010008,1582,88)INSERT INTO Salary VALUES(002001,2569,185)INSERT INTO Salary VALUES(020018,1987,79)INSERT INTO Salary VALUES(102201,2066,108)INSERT INTO Salary VALUES(102208,2980,210)INSERT INTO Salary VALUES(108991,3259,281)INSERT INTO Salary VALUES(11

19、1006,2860,198)INSERT INTO Salary VALUES(210678,2347,180);INSERT INTO Purchase VALUES(000001,01,3);INSERT INTO Purchase VALUES(000001,03,1);INSERT INTO Purchase VALUES(002001,01,5);INSERT INTO Purchase VALUES(020018,03,6);INSERT INTO Purchase VALUES(108991,11,1);INSERT INTO Purchase VALUES(000001,11,

20、3);INSERT INTO Purchase VALUES(020018,01,5);INSERT INTO Purchase VALUES(201678,02,1);INSERT INTO Purchase VALUES(020018,11,2);2、简单查询SELECT * FROM Purchase SELECT * FROM EmployeesWHERE 出生日期 LIKE %1956% or 出生日期 LIKE %1962% or 出生日期 LIKE %1964%; SELECT * FROM Employees WHERE 性别=1; SELECT * FROM Employee

21、s WHERE 姓名 LIKE %白%;SELECT * FROM Employees WHERE 姓名 not LIKE李% AND 姓名 not LIKE胡% AND len(姓名)=3;3、连接查询的使用SELECT Employees. *,Salary. 收入FROM Employees inner join Salary on Employees.编号=Salary.编号;SELECT Employees. *,Salary. 收入FROM Employees inner join Salary on Employees.编号=Salary.编号WHERE 收入(SELECT 收入

22、 FROM Salary WHERE 编号=102201);4数据汇总SELECT AVG(b.收入-b.支出) AS 财务部员工的平均净收入FROM Employees AS a INNER JOIN Salary AS b ON a.编号=b.编号 WHERE 部门号=1;SELECT COUNT(部门号)AS 财务部门总人数 FROM Employees WHERE 部门号=1;5GROUP BY ,ORDER BY 子句的使用SELECT COUNT(a.部门号) AS 部门人数 ,b.部门名称 FROM Employees AS a JOIN Departments AS b ON

23、a.部门号=b.部门编号 group by(部门名称);SELECT a.*,b.收入FROM Employees AS a INNER JOIN Salary AS b ON a.编号=b.编号 order by 收入;5、运行结果及选做题(1)查询1956,1962,1964年出生的员工记录; (2)查询性别为1的员工记录; (3)查询名字中包含白字的所有雇员信息; (4)查询不姓李或者胡,并且名字为三个字的雇员的记录 (1)查询每个雇员的情况以及其薪水情况(2)查询收入高于编号为102201的员工收入的职工信息(1)求财务部员工的平均净收入 (2)求财务部雇员的总人数 (1)求各部门的雇

24、员数(2)将各雇员的情况按薪水由低到高排列(选做题)查找比所有财务部的员工的收入都高的员工的姓名;SELECT 姓名FROM Employees WHERE 编号 IN (SELECT 编号 FROM Salary WHERE 收入All(SELECT 收入 FROM Salary WHERE 编号 IN(SELECT 编号 FROM Employees WHERE 部门号=1)运行结果: 数据库原理第三次实验一、实验内容:数据库的表中数据的操作。二、实验目的:1、学习SQL语句进行表中的数据的插入、更新和删除;2、学会含有子查询语句的数据更新操作;2、理解表中列的属性对表中数据的影响。三、实

25、验准备试用上次实验创建的员工管理数据库(compy)及相应的四张表(具体见实验2):Employees:员工信息表Departments:部门信息表Salary:员工薪水信息表PurchASe:员工购物信息表四、实验题目:1、向Employees表中加入一列:年龄,其值为“当前时间”与“出生日期”差值(提示:年龄的计算可以使用getdate及year两个日期函数,具体使用参考联机丛书Transact SQL参考)。2、数据更新:1)将编号为102201的雇员地址改为“苏州”;2)将编号为102208的雇员收入降低10;3)更改salary表,如果收入和支出的差值小于2000,则将收入提高100

26、0;3、使用SELECTINTO进行多行插入: 将每个部门的编号,名称,雇员数,插入到新表DepartmentStatic中。4、含子查询的数据更新 (1)将地址为合肥的雇员收入增加5 (2)将收入小于平均收入的雇员的收入增加500元 (3)将财务部的雇员收入减少100 5、删除 删除DepartmentStatic中所有数据 6、(选做)(1)将总收入大于6000的部门中的雇员收入减少5(2)删除收入大于平均收入的雇员的信息,包括Employees, Salary中相关的数据5、实验过程 1、 UPDATE Employees SET 地址=苏州 WHERE 编号=102201SELECT

27、* FROM Employees 2、 UPDATE Salary SET 收入=收入*0.9 WHERE 编号=102208UPDATE Salary SET 收入=收入+1000WHERE abs(收入-支出)20003、SELECT * FROM Salary SELECT 部门编号,部门名称,备注 INto DepartmentStatic FROM DepartmentsSELECT * FROM DepartmentStatic 4、UPDATE Salary SET 收入=收入*1.05 WHERE 编号 IN (SELECT 编号 FROM Employees WHERE 地址

28、=合肥);UPDATE Salary SET 收入=收入+500 WHERE 收入(SELECT AVG(收入) FROM Salary);UPDATE Salary SET 收入=收入-100 WHERE 编号 IN (SELECT 编号 FROM Employees,Departments WHERE Employees.部门号=Departments.部门编号 and Departments.部门名称=财务部)5、TRUNCATE TABLE DepartmentStatic /*删除*/SELECT * FROM DepartmentStatic六 运行结果及选做题 1、向Employees表中加入一列:年龄2、数据更新3、使用SELECTINTO进行多行插入:5、删除选做6、(1)将总收入大于6000的部门中的雇员收入减少5(2)删除收入大于平均收入的雇员的信息,包括Employees, Salary中相关的数据程序(1)UPDATE Salary SET 收入=收入*0.95WHERE 编号 I

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1