数据库(实验报告)
徐州工程学院管理学院实验报告实验课程名称:数据库原理及应用实验地点:经济管理实验教学中心2012—2013学年(一)学期2012 年9月至2012 年12 月专业信息管理与信息系统班级10信管学生姓名xx学号***********指导老师xxx实验一实验名称:熟悉SQL Server 2008的工作环境成绩:实验目的1.熟悉企业管理器、查询管理器的使用。
2.熟悉SQL Server 2008给出的样例数据库的内容。
实验二实验名称:创建数据库和数据表成绩:实验目的1.了解SQL Server 2008数据库的逻辑结构和物理结构。
2. 了解表的结构特点。
3. 熟悉SQLServer的基本数据类型。
4. 了解数据库、数据表、约束等相关的概念。
5. 实现在企业管理器中创建数据库和表。
6. 掌握使用Transact-SQL语句创建数据库和表的方法。
实验内容和步骤练习创建数据库和数据表。
(1)打开“我的电脑”或“资源管理器”,在磁盘中以自己的姓名或学号建立文件夹。
(2)创建名为“学生-选课”(即名为JWGL)的数据库,并存储在地(1)步建立的文件下。
(3)在建立的JWGL数据库中按照表9-1~表9-3所示创建student、course和sc表9-1 student表9-2 course表9-3 sc(4)在数据表中输入数据。
为表1和表3建立主键约束。
实验三实验名称: 基本数据查询 成绩:实验 目的 1. 掌握SELECT-From-Where 语句的结构及使用,实现在数据库上进行简单查询。
2. 掌握各种查询操作方法。
实验内容和步骤 数据表中输入的数据 Student Course SC练习1:简单查询(1)查询全体学生的学号与姓名。
Select Sno,Sn FROM Student;(2)查询全体学生的姓名及年龄。
Select Sn,Age FROM Student;(3)查询全体学生的姓名、年龄及所在的系别(要用小写字母表示系名,并用“系名”来表示列名)Select Sn,Age,Dept AS 系名FROM Student;(4)查询选修了课程的学生学号。
Select Sno FROM SC;练习2:条件查询(1)查询所有年龄在20岁以下的学生的姓名及其年龄Select Sn,Age FROM StudentWHERE Age<20;(2)查询年龄在20到23岁之间的学生的姓名系别及年龄Select Sn,Dept,Age FROM StudentWHERE Age BETWEEN 20 AND 23;(3)查询年龄不在20~23岁之间的学生的姓名、系别及年龄。
Select Sn,Dept,Age FROM StudentWHERE Age NOT BETWEEN 20 AND 23;(4)查询所有姓“刘”的学生的姓名、学号和性别Select Sn,Sno,Sex FROM StudentWHERE Sn LIKE ‘刘%’;(5)查询全体学生情况,结果按所在系的编号升序排列,同一系的学生按年龄降序排列Select *FROM StudentOrder BY Dno ASC,Age DESC;(6)查询所有不姓李的学生的姓名Select Sn FROM StudentWHERE Sn NOT LIKE ‘李%’;实验四实验名称:数据分组与汇总成绩:实验目的1.掌握数据分组查询的方法。
2. 掌握统计函数的使用。
2.使用GROUP BY和HAVING子句对数据分组查询。
4. 使用相应的运算符或子句生成汇总数据。
实验内容和步骤练习1:使用统计函数(1)查询学生的总人数Select COUNT(Sno)AS 总人数FROM Student;(2)查询选修课程的人数Select COUNT(Sno)AS 总人数FROM SC;(3)计算选修了2门课程的学生的平均成绩Select A VG(Grade) AS 平均成绩FROM SC WHERE (Cno=’2’);(4)查询选修了3号课程的学生的最高分Select MAX(Grade) AS MXS FROM SC WHERE (Cno=’3’);练习2:分组查询(1)求有成绩的每个学生的平均成绩Select Sno,A VG(Grade) AS 平均成绩FROM SC GROUP BY Sno;(2)求有成绩的每个学生的总成绩Select Sno,SUM(Grade) AS 总成绩FROM SC GROUP BY Sno;(3)求每门课程的平均成绩Select Cno,A VG(Grade)AS 平均成绩FROM SCGROUP BY Cno;(4)求平均成绩大于85分的学生的学号及平均成绩Select Sno,A VG(Grade)AS Grade FROM SCGROUP BY SnoHA VING A VG(Grade)>85;(5)求平均成绩大于85分的课程的课程号及课程平均成绩。
Select Cno,A VG(Grade)AS Grade FROM SCGROUP BY CnoHA VING A VG(Grade)>85;(6)求各个课程号及相应的选课人数程序:Select Cno,COUNT(Cno)AS选课人数FROM SCGroup BY Cno;(7)查询人数多于2人(含2人)的系的编号及人数Select Dno,COUNT(Dno) AS 人数FROM StudentGROUP BY DnoHA VING COUNT(Dno)>=2;实验五实验名称:多表连接成绩:实验目的1. 了解多表连接的作用。
2. 掌握使用不同类型的连接方式进行表的连接操作的方法。
实验内容和步骤1.查询选修“数据结构”课程的学生的学号Select Sno AS 学号,Cn AS 选课FROM Course,SCWHERE o=o AND =’数据结构’;2.查询学生‘姜珊’选修的课程的平均分Select A VG(Grade)AS 平均分FROM Student,SCWHERE Student.Sno=SC.Sno AND Sn=’姜珊’;3.查询选修“数据库原理”课程的学生的平均分Select A VG(Grade) AS 平均分FROM Course,SCWHERE o=o AND Cn=’数据库原理’;4.查询学生“李斌”的所有成绩,显示的列包括姓名,成绩Select Sn,Grade AS 成绩FROM Student,SCWHERE Student.Sno=SC.Sno AND Sn=’李斌’;5.查询学生选修课的考试情况,显示的列名包括学生姓名,课程名称,成绩Select Sn AS 学生姓名,Cno AS课程名称,Grade AS成绩FROM Student,SC WHERE Student.Sno=SC.Sno;6.查询成绩大于70分的学生姓名Select DISTINCT Sn FROM Student,SCWHERE Student.Sno=SC.Sno AND Grade>70;实验六实验名称:数据更新操作成绩:实验目的1.掌握在企业管理器中对数据表进行插入、修改、删除的数据操作。
2.掌握使用Transact-SQL语句对数据库表进行插入、修改和删除的数据操作。
3. 了解Transact-SQL语句对表数据操作的灵活控制能力。
实验内容和步骤1.向学生表中插入学生“XXX”的基本信息INSERT INTO Student(Sno,Sn,Sex,Age,Dept,IDCard,Dno) V ALUES(‘07’,’张丹’,’女’,20,’管理学院’,07,04);Select * FROM Student;2.修改学生“XXX”的信息UPDATE StudentSET Age=20WHERE Sno=’02’;Select * FROM Student;3.删除课程中“数据库原理”的课DELETEFROM CourseWHERE Cn=’数据库原理’;实验七实验名称:索引及其应用成绩:实验目的1. 掌握使用企业管理器和Transact-SQL语句创建索引的方法。
2. 了解不同索引对查询性能的影响。
实验内容和步骤1.给S建立一个唯一索引CREATE unique index SCI on Student(Sno,Sn);实验名称:实现视图成绩:实验目的1.掌握使用企业管理器和Transact-SQL语句创建视图的方法。
2.握视图加密技术。
3.学会通过视图来修改数据。
实验内容和步骤1. 创建和检验试图CREATE VIEW STASSelect Sno,Sn,Dept FROM Student2.创建一个新的学生信息表的视图,并插入一行新数据。
CREATE VIEW StASSelect Sno,Sn,Sex,Age,Dept,IDCard,Dno From Student INSERT INTO St(Sno,Sn,Sex,Age,Dept,IDCard,Dno)V ALUES(‘08’,’徐谨’,’男’,21,’人文学院’,03,3);实验名称:实现存储过程成绩:实验目的1. 掌握使用企业管理器和Transact-SOL语句创建存储过程的方法。
2. 掌握带参数和不带参数的存储过程的创建方法。
3. 掌握显示存储过程信息的方法。
实验内容1. 创建如下不带参数的简单存储过程。
查询成绩在60~84分之间的学上的学号和课程号。
CREATE PROCEDURE Student_infoASSelect Sno,Cno FROM SCWHERE Grade BETWEEN 60 AND 84;2. 创建如下带输入参数的存储过程。
(1)根据输入的学号,删除该学生的选课成绩记录。
CREATE PROCEDURE Grade_info@Sno char(5)ASDelete FROM SCWHERE Sno=@Sno;(2)向SC表中插入数据。
CREATE PROCEDURE SC_info @Sno char(5),@Cno char(1),@Grade decimal(9) ASINSERT INTO SCV ALUES(@Sno,@Cno,@Grade);3. 创建如下带输出参数的存储过程,并写出一个调用该过程的例子。
根据输入的学号、课程号,输出其成绩。
CREATE PROCEDURE there_info@Sno char(5),@Cno char(1),@Grade char (9) outputASSelect Grade FROM SCWHERE SC.Sno=@Sno AND o=@Cno;实验十实验名称:实现触发器成绩:实验目的1.创建维护数据完整性的触发器2.创建强制复杂业务规则的触发器实验内容针对学生表(Student)、课程表(Course)、学生选课表(SC)和表9-4,实现如下实验:创建一个名为stu_insert的触发器,向学生表Student插入记录时,自动更新班级表中的class中的学生人数Number。
数据库实验报告完整版
一、实验目的1. 掌握数据库的基本概念和原理;2. 熟悉数据库的创建、修改和删除操作;3. 掌握SQL语句的使用,包括数据查询、数据插入、数据更新和数据删除;4. 学会使用数据库管理系统进行数据管理。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:Visual Studio Code三、实验内容1. 创建数据库和表(1)创建数据库```sqlCREATE DATABASE testdb;```(2)选择数据库```sqlUSE testdb;```(3)创建表```sqlCREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender CHAR(1),class VARCHAR(50));```2. 插入数据```sqlINSERT INTO students (name, age, gender, class) VALUES ('张三', 20, '男', '计算机科学与技术');INSERT INTO students (name, age, gender, class) VALUES ('李四', 21, '女', '软件工程');INSERT INTO students (name, age, gender, class) VALUES ('王五', 22, '男', '电子信息工程');```3. 查询数据(1)查询所有学生信息```sqlSELECT FROM students;```(2)查询年龄大于20岁的学生信息```sqlSELECT FROM students WHERE age > 20;```(3)查询性别为“男”的学生信息```sqlSELECT FROM students WHERE gender = '男';```4. 更新数据```sqlUPDATE students SET age = 21 WHERE name = '张三';```5. 删除数据```sqlDELETE FROM students WHERE name = '李四';```6. 删除表```sqlDROP TABLE students;```四、实验结果与分析1. 创建数据库和表:实验过程中成功创建了名为testdb的数据库,并在该数据库下创建了students表,包含id、name、age、gender和class五个字段。
数据库实验报告(通用3篇)
数据库实验报告(通用3篇)数据库试验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1,这次实习可以使我们在课本上学到的学问用于实践增加了我对电脑技巧的一些认知。
2,通过这次实习也可以让我体验到上班族的生活为我将来毕业后找工作打下了基础。
3,并且这次实习可以非常好的关心我完成将来的毕业论文。
四、实训感悟:还依旧记得来的第一天对这里很茫然,不知道实习要做些什么。
然后经过老师的急躁讲解,熟悉了自己实习要做些什么,得到了许多心理熟悉,对许多问题都有了一些更深的了解。
同时,我熟识了河北玛世电子商务有限公司,总部位于国家命名的“中国丝网之乡”、“中国丝网产业基地”、中国丝网产销基地“、”中国丝网出口基地“—河北省安平县。
使我们队公司有了更进一步的了解实习,就是在实践中学习。
经过这半个月的实习训练,我了解到自己所学的如何在实践中运用。
当然学的更多的是如何在更新网站内容和添加商品,每天不厌其烦的更新添加,观察自己的胜利更多的是兴奋。
还有发布了一些关于公司产品的博客,比如新浪,网易。
而后又尝试在百度知道上提问与回答,在回答问题的过程中,通过网站搜寻相关内容来回答各种丝网问题,通过百度知道这个平台,我对公司又了更一步的了解。
经过半个月的实训我学到了许多之前没有学过没有接触到的东西,熟悉到自己的不足,需要更加努力,才能尽快的学会在社会上生活,敢于面对社会的压力,使自己可以在社会上成长进展。
数据库试验报告篇2由于平常接触的都是一些私人项目,这些项目大都是一些类库,其他人的沟通相对可以忽视不计,因此也就不考虑规范化的文档。
实际上从学习的经受来看,我们接触的学问体系都是属于比较老或比较传统的,与现在进展快速的IT行业相比许多状况已不再适用,尤其是当开源模式渐渐走近开发者后更是如此。
虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。
数据库实验报告
数据库实验报告一、实验目的本次数据库实验的主要目的是通过实际操作和实践,深入了解数据库的基本概念、原理和技术,掌握数据库的设计、创建、管理和数据操作的方法,提高对数据库系统的应用能力和问题解决能力。
二、实验环境本次实验使用的数据库管理系统是 MySQL,操作系统为 Windows 10。
实验中使用的开发工具包括 MySQL Workbench 和命令行终端。
三、实验内容与步骤(一)数据库设计1、需求分析根据给定的业务场景,确定数据库需要存储的信息和数据之间的关系。
例如,对于一个学生管理系统,需要存储学生的基本信息、课程信息、成绩信息等,并且明确这些信息之间的关联,如学生与课程的选课关系、课程与成绩的对应关系等。
2、概念模型设计使用 ER 图(实体关系图)来描述数据库的概念模型。
确定实体(如学生、课程)、属性(如学生的学号、姓名,课程的课程号、课程名)以及实体之间的关系(如多对多、一对多等)。
3、逻辑模型设计将概念模型转换为关系模型,确定数据表的结构,包括表名、字段名、数据类型、主键、外键等。
例如,学生表(学号、姓名、性别、出生日期),课程表(课程号、课程名、学分),选课表(学号、课程号、成绩)等。
(二)数据库创建1、使用 MySQL Workbench 或命令行创建数据库。
2、创建数据表,按照设计好的逻辑模型定义表结构。
(三)数据插入与操作1、使用 INSERT 语句向数据表中插入数据,以模拟实际的业务数据。
2、进行数据的查询操作,使用 SELECT 语句查询满足特定条件的数据。
3、进行数据的更新和删除操作,使用 UPDATE 和 DELETE 语句修改或删除数据。
(四)数据库索引与优化1、了解索引的概念和作用,为经常用于查询、连接和排序的字段创建索引。
2、分析查询语句的执行计划,通过优化查询语句、调整数据表结构等方式提高数据库的性能。
(五)数据库备份与恢复1、学习数据库备份的方法,使用 mysqldump 工具或 MySQL Workbench 进行数据库的备份。
数据库实验报告(完整版)
数据库实验报告班级:07111103学号:**********姓名:***实验一:[实验内容1 创建和修改数据库]分别使用SQL Server Management Studio和Transact-SQL语句,按下列要求创建和修改用户数据库。
1.创建一个数据库,要求如下:(1)数据库名"testDB"。
(2)数据库中包含一个数据文件,逻辑文件名为testDB_data,磁盘文件名为testDB_data.mdf,文件初始容量为5MB,最大容量为15MB,文件容量递增值为1MB。
(3)事务日志文件,逻辑文件名为TestDB_log, 磁盘文件名为TestDB_log.ldf,文件初始容量为5MB, 最大容量为10MB,文件容量递增值为1MB。
2.对该数据库做如下修改:(1)添加一个数据文件,逻辑文件名为TestDB2_data,实际文件为TestDB2_data.ndf,文件初始容量为1MB,最大容量为6MB,文件容量递增值为1MB。
(2)将日志文件的最大容量增加为15MB,递增值改为2MB。
方法一:使用SQL Server Management Studio创建和修改数据库TestDB方法二:使用Transact-SQL语句创建和修改数据库TestDB方法一过于简单,暂不做讨论。
下面学习方法二。
首先,在sql sever 2008中单击新建查询。
然后键入下面的代码。
建立新的数据库。
1. 创建一个数据库,要求如下:2.对该数据库做如下修改:对刚刚的操作进行验证数据均已更新完毕。
[实验内容2 数据表的创建、修改和查询]1.熟悉有关数据表的创建和修改等工作,并了解主键、外键以及约束的创建和应用,熟练掌握使用SQL Server Management Studio和CREATE TABLE、ALTER TABLE等Transact-SQL语句对数据表的操作方法字段名数据类型字段长度注释项目编码char 10 主键名称varchar负责人编码char 10客户int开始日期datetime结束日期datetime员工数据表(Employee)字段名数据类型字段长度注释方法一:使用SQL Server Management Studio创建数据表并添加约束方法二:使用Transact-SQL语句创建数据表并添加约束2.向数据库TestDB中的两个数据表"项目数据表"和"员工数据表"中添加记录3.在查询分析器中书写Transact-SQL语句完成数据查询。
数据库实验报告
实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。
实验内容:具体包括如下三部分。
一、熟悉上机环境。
客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。
具体包括:1.了解SQL Server 环境。
鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。
点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。
因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。
2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。
如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。
3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。
二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。
1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。
数据库系统实验课实验报告
数据库系统实验课实验报告一、实验目的数据库系统实验课是一门重要的实践课程,旨在通过实际操作和实验,深入理解数据库系统的原理和应用,提高我们的数据库设计、管理和应用开发能力。
本次实验的具体目的包括:1、熟悉数据库管理系统(DBMS)的操作环境和基本命令。
2、掌握数据库的创建、表的设计、数据的插入、查询、更新和删除等基本操作。
3、学会使用 SQL 语句进行复杂的数据查询和数据处理。
4、理解数据库的完整性约束、索引和存储过程的概念及应用。
5、培养解决实际数据库问题的能力和团队协作精神。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,实验在 Windows 10 操作系统上进行。
使用的开发工具包括 MySQL Workbench 和命令行终端。
三、实验内容1、数据库的创建使用 CREATE DATABASE 语句创建了一个名为“student_management”的数据库,用于存储学生管理相关的数据。
2、表的设计在“student_management”数据库中,设计了以下几张表:“students”表,包含学生的学号(student_id)、姓名(student_name)、性别(gender)、年龄(age)等字段。
“courses”表,包含课程的课程号(course_id)、课程名称(course_name)、学分(credit)等字段。
“enrolls”表,用于记录学生选课的信息,包含学号(student_id)、课程号(course_id)、成绩(grade)等字段。
在设计表时,为每个字段选择了合适的数据类型,并设置了主键和外键约束,以保证数据的完整性和一致性。
3、数据的插入使用 INSERT INTO 语句向“students”、“courses”和“enrolls”表中插入了一些示例数据,以便进行后续的查询和操作。
4、数据的查询使用简单的 SELECT 语句查询了“students”表中的所有学生信息。
数据库的设计实验报告
一、实验目的1. 理解数据库设计的概念、过程和步骤。
2. 掌握数据库概念结构、逻辑结构和物理结构的设计方法。
3. 能够运用E-R图进行数据库概念结构设计。
4. 能够运用SQL语句进行数据库逻辑结构和物理结构设计。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库概念结构设计2. 数据库逻辑结构设计3. 数据库物理结构设计四、实验步骤1. 数据库概念结构设计(1)分析需求,确定实体和属性以“图书管理系统”为例,确定实体和属性如下:实体:图书、读者、借阅信息属性:- 图书:书名、作者、出版社、ISBN、出版日期、分类号、库存数量- 读者:读者编号、姓名、性别、出生日期、联系电话、邮箱、住址- 借阅信息:借阅编号、图书编号、读者编号、借阅日期、归还日期、状态(2)绘制E-R图根据实体和属性,绘制E-R图如下:```图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态) ```2. 数据库逻辑结构设计(1)确定关系模式根据E-R图,确定关系模式如下:- 图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)- 读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)- 借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态)(2)编写SQL语句创建表```sqlCREATE TABLE 图书 (书名 VARCHAR(100),作者 VARCHAR(50),出版社 VARCHAR(50),ISBN VARCHAR(20),出版日期 DATE,分类号 VARCHAR(10),库存数量 INT);CREATE TABLE 读者 (读者编号 VARCHAR(10),姓名 VARCHAR(50),性别 CHAR(1),出生日期 DATE,联系电话 VARCHAR(20),邮箱 VARCHAR(50),住址 VARCHAR(100));CREATE TABLE 借阅信息 (借阅编号 VARCHAR(10),图书编号 VARCHAR(10),读者编号 VARCHAR(10),借阅日期 DATE,归还日期 DATE,状态 VARCHAR(10));```3. 数据库物理结构设计(1)确定索引根据需求,确定索引如下:- 图书表:ISBN、分类号- 读者表:读者编号- 借阅信息表:借阅编号、图书编号、读者编号(2)编写SQL语句创建索引```sqlCREATE INDEX idx_isbn ON 图书(ISBN);CREATE INDEX idx_分类号 ON 图书(分类号);CREATE INDEX idx_读者编号 ON 读者(读者编号);CREATE INDEX idx_借阅编号 ON 借阅信息(借阅编号);CREATE INDEX idx_图书编号 ON 借阅信息(图书编号);CREATE INDEX idx_读者编号 ON 借阅信息(读者编号);```五、实验结果与分析1. 通过实验,掌握了数据库设计的概念、过程和步骤。
(完整版)数据库实验报告
数据库实验报告姓名学号目录一.实验标题:2二.实验目的:2三.实验内容:2四.上机软件:3五.实验步骤:3(一)SQL Server 2016简介3(二)创建数据库 4(三)创建数据库表 7(四)添加数据17六.分析与讨论: 19一.实验标题:创建数据库和数据表二.实验目的:1.理解数据库、数据表、约束等相关概念;2.掌握创建数据库的T-SQL命令;3.掌握创建和修改数据表的T-SQL命令;4.掌握创建数据表中约束的T-SQL命令和方法;5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容:1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;4.添加具体数据;四.上机软件:SQL Server 2016五.实验步骤:(一)SQL Server 2016简介1.SQL Server 2016的界面2.启动和退出SQL Server 20161)双击图标,即出现SQL Server2016的初始界2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可注意事项:1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存,2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作(二)创建数据库方法一:1.点击“新建查询”,出现如下对话框2.在空白区域输入创建数据库“学生选课”的代码命令,点击“执行”3.消息框中出现“命令已成功完成”即表示数据库创建成功,在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”方法二:1.右击数据库,在弹出的快捷菜单中选择“新建”2.在弹出的对话框中输入“学生选课”3. 在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”注意事项:数据库名称在服务器中必须唯一,并且符合标识符的规则(三)创建数据库表1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表2.建立成功后的表格如图所示注意事项:1.T-SQL中创建数据库表的指令格式为:Create table 表名(字段名1 数据类型{identify | not null | null},字段名2 数据类型{identify | not null | null},……)null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略not null表示该字段的值不能为空值identify称为计数器,表示该字段的值是一组递增的证书数据。
数据库实验报告全
数据库实验报告全实验⼀实验⽬的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三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
《数据库原理》实验报告 创建数据库
《数据库原理》实验报告(一){Jno char(4) primary key,Jname char(20) unique,City char(20)};Create table SPJ{Sno char(4) ,Pno char(4) ,Jno char(4),Qty int(4),Primary key(Sno,Pno,Jno),Foreign key(Sno)references S(Sno), Foreign key(Pno)references P(Pno), Foreign key(Jno)references J(Jno) }实验内容四、用INSERT语句插入四个表中的全部数据。
S表的插入命令:Insert into S(Sno,Sname,Status,City) values(‘S1’,’精益’,’20’,’天津’);Insert into S(Sno,Sname,Status,City) values(‘S2’,’盛锡’,’10’,’北京’);Insert into S(Sno,Sname,Status,City) values(‘S3’,’东方红’,’30’,’北京’);Insert into S(Sno,Sname,Status,City) values(‘S4’,’丰泰盛’,’20’,’天津’);Insert into S(Sno,Sname,Status,City) values(‘S5’,’为民’,’30’,’上海’);P表的插入命令:Insert into P(Pno,Pname,Color,Weight) values(‘P1’,’螺母’,’红’,’12’);Insert into P(Pno,Pname,Color,Weight) values(‘P2’,’螺栓’,’绿’,’17’);Insert into P(Pno,Pname,Color,Weight) values(‘P3’,’螺丝刀’,’蓝’,’14’);Insert into P(Pno,Pname,Color,Weight) values(‘P4’,’螺丝刀’,’红’,’14’);Insert into P(Pno,Pname,Color,Weight) values(‘P5’,’凸轮’,’蓝’,’40’);Insert into P(Pno,Pname,Color,Weight) values(‘P6’,’齿轮’,’红’,’30’);J表的插入命令:Insert 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’,’半导体厂’,’南京’);SPJ表的插入命令:Insert 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’);五、用命令完成下列的数据更新操作。
