同济大学数据库实验五

合集下载

数据库实验

数据库实验

数据库原理实验指导实验前准备:请设计一个企业销售管理据库,其中需要保存的信息如下:员工信息,包括:员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期;客户信息,包括:客户号,客户名称,客户住址,客户电话、邮政编码;产品信息,包括:产品编号,产品名称;员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。

此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。

因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期;要求:(1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型;(2)将ER图转换为关系模型;实验一实验名称:数据定义(2课时)一、实验目的1、理解数据库模式的概念,通过使用SQL SERVER企业管理器或者My Sql建立数据库和基本表。

模式为人事表、客户表、销售表、销售明细表、产品表。

熟悉SQL SERVER 企业管理器的使用,并将得到的表生成脚本,然后保存。

2、理解上述基本表之间的关系,建立关系表。

3、掌握修改表结构的基本方法4、掌握索引和视图的创建方法二、实验环境MS SQL SERVER或者My Sql。

三、实验内容与步骤1、建立一个数据库和五张表的表结构。

(1)/*员工人事表employee */Create datebase sale;create table employee(emp_no char(5) Not null primary key,emp_name char(10) Not null,sex char(1) Not null,dept char(4) null,title char(6) null,date_hired datetime null,birthday datetime null,salary int null,addr char(50) null,Mod_date datetime Default 0,constraint c1 check(性别 in('男','女')) );(2)/*客户表customer */create TABLE customer(cust_id char(5) Not null primary key,cust_name char(20) Not null,addr CHAR(40) Not null,tel_no char(10) Not null,zip char(6) null);(3)/*销售主表sales */create TABLE sales(order_no char(5) Not null primary key,cust_id char(5) Not null,sale_id CHAR(5) Not null,tot_amt numeric(9,2) null,order_date datetime null,ship_date datetime null,invoice_no char(10) null);(4)/*销货明细表 sales_item*/create TABLE sales_item(order_no char(5) Not null ,prod_id char(5) Not null,primary key(order_no,prod_id),qty INT Not null,unit_price numeric(9,2) Not null,order_date datetime null,CONSTRAINT FK_1 FOREIGN key(order_no) REFERENCES sales(order_no),CONSTRAINT FK_2 FOREIGN key(prod_id) REFERENCES product(prod_id));(5)/*产品名称表product */create TABLE product(prod_id char(5) Not null primary key,prod_name char(20) Not null);2、建立5张表的关系图3、修改表结构,通过SQL语句修改表约束。

数据库实验报告实验步骤

数据库实验报告实验步骤

一、实验目的1. 熟悉数据库的基本概念和结构。

2. 掌握数据库的创建、修改、删除等操作。

3. 学会使用SQL语句进行数据的查询、插入、更新和删除。

4. 掌握数据库的备份和恢复。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验步骤1. 创建数据库(1)打开MySQL Workbench,选择“新建连接”。

(2)输入主机名、用户名、密码等信息,点击“连接”。

(3)在左侧菜单栏选择“数据库”,点击“创建数据库”。

(4)在弹出的对话框中输入数据库名称,点击“创建”。

2. 创建表(1)在左侧菜单栏选择“数据库”,然后选择刚刚创建的数据库。

(2)点击“创建表”。

(3)在弹出的对话框中输入表名,设置字段类型、长度、约束等属性。

(4)点击“保存”完成表的创建。

3. 插入数据(1)选择创建的表,点击“插入数据”。

(2)在弹出的对话框中输入数据,点击“保存”。

4. 查询数据(1)选择创建的表,点击“查询”。

(2)在弹出的对话框中输入SQL语句,例如:SELECT FROM 表名 WHERE 条件。

(3)点击“执行”查看查询结果。

5. 更新数据(1)选择创建的表,点击“更新数据”。

(2)在弹出的对话框中输入SQL语句,例如:UPDATE 表名 SET 字段=值 WHERE条件。

(3)点击“执行”完成数据的更新。

6. 删除数据(1)选择创建的表,点击“删除数据”。

(2)在弹出的对话框中输入SQL语句,例如:DELETE FROM 表名 WHERE 条件。

(3)点击“执行”完成数据的删除。

7. 备份和恢复数据库(1)在左侧菜单栏选择“数据库”,然后选择要备份的数据库。

(2)点击“备份”。

(3)在弹出的对话框中设置备份文件路径和名称,点击“备份”完成备份操作。

(4)在左侧菜单栏选择“数据库”,然后选择“还原”。

(5)在弹出的对话框中设置还原路径和名称,点击“还原”完成数据库的恢复。

数据库实验报告(通用3篇)

数据库实验报告(通用3篇)

数据库实验报告(通用3篇)数据库试验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1,这次实习可以使我们在课本上学到的学问用于实践增加了我对电脑技巧的一些认知。

2,通过这次实习也可以让我体验到上班族的生活为我将来毕业后找工作打下了基础。

3,并且这次实习可以非常好的关心我完成将来的毕业论文。

四、实训感悟:还依旧记得来的第一天对这里很茫然,不知道实习要做些什么。

然后经过老师的急躁讲解,熟悉了自己实习要做些什么,得到了许多心理熟悉,对许多问题都有了一些更深的了解。

同时,我熟识了河北玛世电子商务有限公司,总部位于国家命名的“中国丝网之乡”、“中国丝网产业基地”、中国丝网产销基地“、”中国丝网出口基地“—河北省安平县。

使我们队公司有了更进一步的了解实习,就是在实践中学习。

经过这半个月的实习训练,我了解到自己所学的如何在实践中运用。

当然学的更多的是如何在更新网站内容和添加商品,每天不厌其烦的更新添加,观察自己的胜利更多的是兴奋。

还有发布了一些关于公司产品的博客,比如新浪,网易。

而后又尝试在百度知道上提问与回答,在回答问题的过程中,通过网站搜寻相关内容来回答各种丝网问题,通过百度知道这个平台,我对公司又了更一步的了解。

经过半个月的实训我学到了许多之前没有学过没有接触到的东西,熟悉到自己的不足,需要更加努力,才能尽快的学会在社会上生活,敢于面对社会的压力,使自己可以在社会上成长进展。

数据库试验报告篇2由于平常接触的都是一些私人项目,这些项目大都是一些类库,其他人的沟通相对可以忽视不计,因此也就不考虑规范化的文档。

实际上从学习的经受来看,我们接触的学问体系都是属于比较老或比较传统的,与现在进展快速的IT行业相比许多状况已不再适用,尤其是当开源模式渐渐走近开发者后更是如此。

虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。

数据库实验指导(071125)

数据库实验指导(071125)

《数据库系统原理》实验指导书索剑2007-11实验1:数据库模式设计及建立(2学时)实验目的:1.掌握数据库模式设计及建立的方法,建立数据库及关系2.比较SQL命令方式和可视化环境管理器方式设计的异同点3.熟悉 SQL SERVER 的企业管理器和查询分析器实验类型:验证实验内容:1.在SQL Server环境中建立“学生-课程”数据库2.使用SQL语言及可视化环境建立“学生-课程”数据库中的表3.观察“学生-课程”数据库的E-R图、逻辑模式以及文件存储之间的联系操作步骤:1.描述教材P59中所叙述的“学生-课程”数据库概念模式2.仔细分析“学生-课程”数据库关系逻辑模式(尤其是实体完整性、参照完整性规则)Student(学生表):Sno Sname Ssex Sage Sdept95001 李勇男20 CS95002 刘晨女19 IS95003 王敏女18 MA95004 张立男18 IS95005 王强男17 IS95015 张三男20 CS95019 李四男20 CS95020 陈冬男18 ISCourse(课程表):Cno Cname Cpno Ccredit1 数据库 5 42 数学 23 信息系统 1 44 操作系统 6 35 数据结构7 46 数据处理 27 Pascal语言6 4SC(选修表):Sno Cno Grade95001 1 6595001 2 8895001 3 5795001 4 7995001 5 4595001 6 9095001 7 8195002 2 9095002 3 8095002 4 5595003 2 095019 2 6695020 13.熟悉SQL SERVER的企业管理器和查询分析器4.在企业管理器可视化环境下创建“学生-课程”数据库,仔细观察物理模式的形成过程5.在可视化环境下建立如上所述关系模式,建立相应的实体、参照完整性,添加关系数据,仔细观察逻辑模式的形成过程6.启动“查询分析器”,编制SQL语言再次实现上述过程。

数据库实验5答案

数据库实验5答案

实验五:数据库综合查询一、实验目的1.掌握SELECT语句的基本语法和查询条件表示方法;2.掌握查询条件种类和表示方法;3.掌握连接查询的表示及使用;4.掌握嵌套查询的表示及使用;5.了解集合查询的表示及使用。

二、实验环境已安装SQL Server企业版的计算机(120台);具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.了解SELECT语句的基本语法格式和执行方法;2.了解连接查询的表示及使用;3.了解嵌套查询的表示及使用;4.了解集合查询的表示及使用;5.完成实验报告;五、实验内容及步骤1.利用Transact-SQL嵌套语句实现下列数据查询操作。

1) 查询选修了计算机体系结构的学生的基本信息。

select*from studentwhere Sno in(select Sno from coursewhere Cno in(select Cno from sc where Cname='计算机体系结构'))2) 查询年龄比李勇小的学生的学号和成绩。

select a.sno,grade from student a,coursewhere a.sno=course.sno and sage<(select sage from student where sname='李勇')3) 查询其他系中比系编号为‘D1’的学生中年龄最小者要大的学生的信息。

select*from student where dnum<>'D1'AND SAGE>(select min(sage)from student where dnum='D1')4) 查询其他系中比系编号为‘D3’的学生年龄都大的学生的姓名。

select*from student where dnum<>'D3'AND SAGE>all(selectsage from student where dnum='D3')5) 查询‘C1’课程的成绩高于70的学生姓名。

数据库实验报告全

数据库实验报告全

数据库实验报告全实验⼀实验⽬的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三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。

数据库实验报告(6)

数据库实验报告(6)

数据库实验报告(6)一实验题目1.存储过程的定义和使用2。

触发器的创建和使用二实验目的1.掌握存储过程的定义、执行和调用方法。

2.掌握触发器的创建和使用。

三实验内容1.存储过程的定义和使用(1)创建存储过程查找姓李的学生的选修课成绩信息。

(2)创建一个存储过程,计算每个学生选修课的总分,并显示得分最高的三名学生的分数。

(3)创建一个存储过程以查找课程的最高分数(带有输入参数的存储过程)。

(4)创建一个存储过程来计算同学的平均分数并返回统计结果。

(带输入和输出参数的存储过程)(5)创建一个存储过程,计算选修课的数量,然后返回数字。

(6)用存储过程统计选修课,用存储值最多的学生。

(存储过程的嵌套)2.触发器的创建与使用(1)如果学分大于5,在为表格C插入新课程信息时,定义行前级别的触发学分uu触发器分,自动修改为5分。

(2)定义行后级别触发器。

当SC表的等级发生变化时,它将自动出现在等级变化表SC_uu增加日志中加一条新的纪录,该新纪录包括:操作者名称、操作日期、操作类型。

(3)建立一个delete触发器,针对于sc表,每次只能删除一条信息。

(4)创建不允许用户更改学号的更新触发器。

如果学生号被更改,将给出提示信息:学生号不允许更改。

(5)执行相应的SQL语句来触发上面定义的触发器。

(6)删除触发信用触发四实验步骤1.存储过程的定义和格式:createproc[edure]procedure_name[;number][{@parameterdata_type}[变化][=默认值][输出][with[用于复制]assql_statement[...n]创建存储过程以查找姓李的学生的选修课分数信息。

(1)创建存储过程,统计每个学生的选修课的总成绩,显示成绩最好的前3名学生成绩。

SC表的基本信息如图1所示:图表1代码:createprocp_sumscoreas从SCGroupByNo中选择Top 3Sum(成绩)作为总分execp_sumscore运行结果:命令已成功完成。

数据库 实验五

数据库 实验五

数据库实验五在学习数据库的过程中,实验是巩固理论知识、提高实践能力的重要环节。

本次实验五主要围绕数据库的某些关键操作和应用展开,通过实际动手操作,让我们对数据库的理解更加深入和全面。

本次实验的环境是常见的数据库管理系统,如 MySQL 或 SQL Server 等。

实验的目的是让我们熟练掌握数据库的查询、更新、插入和删除等基本操作,同时能够运用这些操作解决一些实际的问题。

实验的第一个任务是进行数据的查询操作。

查询是从数据库中获取所需信息的重要手段。

我们需要根据给定的条件,从数据表中筛选出符合要求的数据。

这就涉及到了使用 WHERE 子句来设定条件,以及各种运算符如等于(=)、大于(>)、小于(<)、不等于(<>)等的运用。

同时,还需要掌握连接(JOIN)操作,将多个相关的数据表连接起来,以获取更全面和准确的信息。

例如,在一个学生成绩管理系统中,要查询某个班级中数学成绩大于 80 分的学生名单,就需要先从学生表中获取班级信息,再从成绩表中筛选出数学成绩符合条件的记录,最后通过学生学号将两个表连接起来,得到最终的结果。

接下来是数据的更新操作。

这包括对已有数据的修改和删除。

在进行更新操作时,必须格外小心,因为一旦操作失误,可能会导致数据的丢失或错误。

在修改数据时,同样要使用 WHERE 子句来指定要修改的记录。

例如,要将某个学生的数学成绩从 80 分修改为 90 分,就需要明确指定该学生的学号或其他唯一标识。

而删除数据则需要更加谨慎,通常建议先进行查询,确认要删除的记录准确无误后,再执行删除操作。

数据的插入操作也是实验的重要部分。

插入新的数据可以增加数据库的信息量。

在插入数据时,需要注意数据的类型和格式要与数据表的定义相匹配。

比如,一个学生信息表中,学号是整数类型,姓名是字符串类型,出生日期是日期类型,如果插入的数据类型不正确,就会导致插入失败。

在实验过程中,我也遇到了一些问题和挑战。

比如,在进行复杂的查询操作时,由于条件设置不当,导致查询结果不准确。

数据库实验报告:实验五

数据库实验报告:实验五

数据库实验报告:实验五一、实验目的本次数据库实验五的主要目的是深入了解和掌握数据库的高级操作,包括存储过程的创建与使用、视图的定义和应用、以及事务处理的原理和实践。

通过这些实验内容,提高我们对数据库系统的综合运用能力,为解决实际的数据库管理问题打下坚实的基础。

二、实验环境本次实验使用的数据库管理系统是 MySQL 80,开发工具为 Navicat Premium 12。

操作系统为 Windows 10 专业版。

三、实验内容及步骤(一)存储过程的创建与使用1、创建一个名为`get_student_info` 的存储过程,用于根据学生学号查询学生的基本信息(包括学号、姓名、年龄、性别和专业)。

```sqlDELIMITER //CREATE PROCEDURE get_student_info(IN student_id INT)BEGINSELECT FROM students WHERE student_id = student_id;END //DELIMITER ;```2、调用上述存储过程,查询学号为 1001 的学生信息。

```sqlCALL get_student_info(1001);```(二)视图的定义和应用1、创建一个名为`student_grade_view` 的视图,用于显示学生的学号、姓名和平均成绩。

```sqlCREATE VIEW student_grade_view ASSELECT sstudent_id, sname, AVG(ggrade) AS average_gradeFROM students sJOIN grades g ON sstudent_id = gstudent_idGROUP BY sstudent_id, sname;```2、查询上述视图,获取所有学生的平均成绩信息。

```sqlSELECT FROM student_grade_view;```(三)事务处理1、开启一个事务,向学生表中插入一条新的学生记录(学号:1005,姓名:_____,年龄:20,性别:男,专业:计算机科学)。

《数据库实验》实验报告

《数据库实验》实验报告

《数据库实验》实验报告《数据库实验》实验报告黄爱蓉编审湖北汽车⼯业学院电⼦信息科学系⼆〇〇七年⼀⽉实验⼀:建⽴数据库及基本表实验报告⼀、实验⽬的1、了解SQL Server数据库的逻辑结构和物理结构;2、了解SQL Server的基本数据类型;3、学会在企业管理器中创建数据库和表;4、使⽤SQL查询分析器⽤CREA TE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。

⼆、实验内容1、创建数据库和查看数据库属性。

2、创建表。

3、查看和修改表结构。

4、熟悉企业管理器和查询分析器⼯具的使⽤⽅法三、实验步骤1、在企业管理器中创建数据库和数据表。

(1) 使⽤企业管理器建⽴图书管理数据库,数据库名为BM,初始⼤⼩为10MB,最⼤为50MB,数据库⾃动增长,增长⽅式是按5%⽐例增长;⽇志⽂件初始为2MB,最⼤可增长到5MB,按1MB增长。

数据库的逻辑⽂件名和物理⽂件名均采⽤默认值。

详细步骤:(2) 在企业管理器中查看图书管理数据库的属性,并进⾏修改,使之符合要求。

(3) 通过企业管理器,在建好了图书管理数据库BM中建⽴图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅⽇期)。

创建上述三个表的步骤:三个表各个字段的数据类型:2、在查询分析器中创建数据库和数据表(1) 创建数据库S-C 的sql语句:(2) 在数据库S-C下,创建基本表学⽣表student(sno,sname,ssex,sage,sdept)的sql语句:创建基本表课程表course(cno,cname, ccredit)的sql语句:创建基本表成绩表sc(sno,cno,grade)的sql语句:(3) 在窗⼝下分别键⼊DROP TABLE Student及DROP TABLE SC命令,运⾏后观察结果。

数据库实验报告范本(3篇)

数据库实验报告范本(3篇)

第1篇实验名称:数据库设计与实现实验日期:2023年4月15日实验班级:计算机科学与技术专业1班实验学号:12345678一、实验目的1. 理解数据库设计的基本原理和方法。

2. 掌握数据库概念结构、逻辑结构和物理结构的设计。

3. 学会使用数据库设计工具进行数据库设计。

4. 能够使用SQL语句进行数据库的创建、查询、更新和删除等操作。

二、实验内容1. 数据库概念结构设计- 分析需求,确定实体和实体间的关系。

- 设计E-R图,表示实体、属性和关系。

2. 数据库逻辑结构设计- 将E-R图转换为关系模式。

- 设计关系模式,确定主键、外键等约束。

3. 数据库物理结构设计- 选择合适的数据库管理系统(DBMS)。

- 设计数据库表结构,包括字段类型、长度、索引等。

- 设计存储策略,如数据文件、索引文件等。

4. 数据库实现- 使用DBMS创建数据库。

- 创建表,输入数据。

- 使用SQL语句进行查询、更新和删除等操作。

三、实验步骤1. 数据库概念结构设计- 分析需求,确定实体和实体间的关系。

- 设计E-R图,表示实体、属性和关系。

2. 数据库逻辑结构设计- 将E-R图转换为关系模式。

- 设计关系模式,确定主键、外键等约束。

3. 数据库物理结构设计- 选择合适的数据库管理系统(DBMS)。

- 设计数据库表结构,包括字段类型、长度、索引等。

- 设计存储策略,如数据文件、索引文件等。

4. 数据库实现- 使用DBMS创建数据库。

- 创建表,输入数据。

- 使用SQL语句进行查询、更新和删除等操作。

四、实验结果与分析1. 数据库概念结构设计- 实体:学生、课程、教师、成绩。

- 关系:学生与课程之间有选课关系,教师与课程之间有授课关系。

2. 数据库逻辑结构设计- 学生表(学号,姓名,性别,年龄,班级号)。

- 课程表(课程号,课程名,学分,教师号)。

- 教师表(教师号,姓名,性别,年龄,职称)。

- 成绩表(学号,课程号,成绩)。

数据库学习实验报告(3篇)

数据库学习实验报告(3篇)

第1篇一、实验目的本次实验旨在通过实际操作,加深对数据库基础知识的理解,掌握数据库的基本操作,包括数据库的创建、表的设计、数据的插入、查询、修改和删除等。

通过本次实验,提高对SQL语言的实际应用能力,为后续深入学习数据库知识打下坚实的基础。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库的创建与删除2. 表的设计与数据类型3. 数据的插入、查询、修改和删除4. 索引与视图的应用四、实验步骤1. 数据库的创建与删除(1)创建数据库```sqlCREATE DATABASE db_student;```(2)删除数据库```sqlDROP DATABASE db_student;```2. 表的设计与数据类型(1)创建学生表```sqlCREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),age INT,gender ENUM('男', '女'),class VARCHAR(50));```(2)创建课程表```sqlCREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50),credit INT);```3. 数据的插入、查询、修改和删除(1)插入数据```sqlINSERT INTO student (name, age, gender, class) VALUES ('张三', 20, '男', '计算机科学与技术');INSERT INTO course (name, credit) VALUES ('高等数学', 4);```(2)查询数据```sql-- 查询所有学生信息SELECT FROM student;-- 查询年龄大于20岁的学生信息SELECT FROM student WHERE age > 20;-- 查询课程名称为“高等数学”的课程信息SELECT FROM course WHERE name = '高等数学';```(3)修改数据```sql-- 修改学生张三的年龄为21岁UPDATE student SET age = 21 WHERE name = '张三';-- 修改课程“高等数学”的学分UPDATE course SET credit = 5 WHERE name = '高等数学';```(4)删除数据```sql-- 删除学生张三的信息DELETE FROM student WHERE name = '张三';-- 删除课程“高等数学”的信息DELETE FROM course WHERE name = '高等数学'; ```4. 索引与视图的应用(1)创建索引```sql-- 创建学生表id字段的索引CREATE INDEX idx_student_id ON student(id); -- 创建课程表name字段的索引CREATE INDEX idx_course_name ON course(name); ```(2)创建视图```sql-- 创建包含学生姓名和课程名称的视图CREATE VIEW student_course_view ASSELECT , FROM studentJOIN course ON student.class = course.id;```(3)查询视图数据```sql-- 查询视图中的数据SELECT FROM student_course_view;```五、实验总结通过本次实验,我深入了解了数据库的基本操作,掌握了SQL语言的运用。

数据库实验

数据库实验
9. 按系统计各系平均成绩在80分以上的人数,结果按降序排列;
10.通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果;
11.通过视图V_IS,新增加一个学生记录 ('S12','YAN XI',19,'IS'),并查询结果;
12. 通过视图V_IS,新增加一个学生记录 ('S13','YAN XI',19,'MA'),并查询结果;
3、 分别在表Student、SC上按“sno”列的唯一值方式建立索引,可能出现问题吗?情况有什么区别?
4、 能否在非主属性列上建立索引?其恰当的方式是什么?
九、பைடு நூலகம்题
1、 在表的定义中,如何确定属性是 NOT NULL / NULL? ( 主码 ,关键字,主属性/主属性)
2、 能否将Student,Course,SC表单独以一个数据文件的形式保存在磁盘上?
1.在表Student、Course、SC上进行简单查询、连接查询、嵌套查询;
2.使用聚合函数的查询;
3.对数据的分组查询;
4.对数据的排序查询。
七、实验内容
在表Student,Course,SC上完成以下查询:
1. 查询学生的基本信息;
2. 查询“CS”系学生的基本信息;
3. 查询“IS”系学生年龄不在19到21之间的学生的学号、姓名;
实验一 数据描述、定义实验
实验时间:3月24日
一、学时
4学时
二、实验类型
演示、设计
三、实验目的
1、熟悉和掌握数据库的创建和连接方法;

数据库实验报告(完整版)

数据库实验报告(完整版)

数据库实验报告班级: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语句完成数据查询。

数据库实验1-7

数据库实验1-7

1《实验一 认识DBMS 》在SQL Server 2005中完成以下操作:(1) 建立SC 数据库,数据库命名:SC_姓名拼音+学号后三位,如SC_xiebing131;(2) 在其中建立Student 表、Course 表和SC 表,表结构如下,自己选择各属性的数据类型;学生关系Student(Sno ,Sname ,Ssex ,Sage ,Sdept)其中Sno 为主码,并且Sname 取值也唯一 课程关系Course(Cno ,Cname ,Cpno ,Ccredit)其中Cno 为主码,并且Cname 取值也唯一选修关系SC(Sno ,Cno ,Grade) 其中Sno 和Cno 不能为空,(Sno, Cno)为主码(3) 参照教材在各表中输入一定的记录,在student 表中输入一条自己的记录;(4) 进行表结构的修改和记录的修改、删除操作;(5) 验证教材P45基本关系具有的6个性质;(6) 分离数据库,保存数据库文件,以后上机要带上。

《实验二数据定义》实验内容:(1) 数据库的定义与删除(2)基本表的创建、修改及删除;(3) 索引的创建和删除;(4) 使用SQL 对数据进行完整性控制(实体完整性、参照完整性);(一)使用命令行方式建立SPJ 数据库(1)用SQL 语言建立SPJ 数据库,数据库命名:SPJ-姓名拼音+学号后三位,如SPJ-liyan112;(2)用SQL 语言在其中建立S 表、P 表、J 表和SPJ 表(要求进行完整性定义),表结构如下;厂家 S (SNO ,SNAME ,STA TUS ,CITY ),其中STA TUS (状态)为整型,其他均为字符型产品 P (PNO ,PNAME ,COLOR ,WEIGHT ),其中WEIGHT (重量)为浮点型,其他均为字符型工程 J (JNO ,JNAME ,CITY ),其中各属性均为字符型供应 SPJ (SNO ,PNO ,JNO ,QTY ),其中QTY (供应量)为整型,其他均为字符型建立数据表的语法格式CREA TE TABLE <表名>(<列名><数据类型>[<列级完整性约束条件> ] [,<列名><数据类型>[<列级完整性约束条件>]] …[,<表级完整性约束条件> ] );(3) 参照教材用SQL 语言分别在4个数据表中输入一定的记录;插入数据的语法格式:INSERTINTO <表名> [(<属性列1>[,<属性列2 >…)]V ALUES (<常量1> [,<常量2>] … )(4) 保存SQL 文件,文件名:SPJ-姓名拼音+学号后三位.sql ,如SPJ-xukai012.sql(二)使用命令行方式建立学生课程数据库(1) 用SQL 语言建立学生课程数据库,数据库命名:SC_学号后四位及姓名,如SC_3112liyan ;(2) 用SQL 语言在学生课程数据库中建立3个表,要求进行完整性定义;学生关系Student(Sno ,Sname ,Ssex ,Sage ,Sdept)其中Sno 不能为空,值是唯一的,并且Sname 取值也唯一,Sage 自定义约束“大于16” 课程关系Course(Cno ,Cname ,Cpno ,Ccredit)其中Cno 不能为空,值是唯一的,并且Cname 取值也唯一教师关系Teacher(Tno ,Tname ,Department ,Email ,Salary) 其中Tno 不能为空,值是唯一的选修关系SC(Sno ,Cno ,Grade) 其中Sno 和Cno 不能为空,(Sno, Cno)为主码,Grade 的数据类型为int(3) 修改数据表:✓ 将SC 表中Grade 的数据类型改为f loat ;✓ 在Student 表中增加一个属性Scome 记录学生的入学时间,其数据类型为DATETIME ;✓ 删除Student 表中新增加Scome 属性;✓ 删除表Teacher 表中的Email 属性;✓ 删除Student 表中对Sname 属性创建的Unique 约束。

数据库实验五实验报告

数据库实验五实验报告

数据库实验五实验报告一、实验目的本实验旨在通过学习数据库的索引和优化,掌握数据库索引的使用和优化方法,进一步提升数据库的查询性能。

二、实验要求1.理解数据库索引的概念及作用。

2.熟悉索引的创建、删除和修改操作。

3.了解索引的类型及适用场景,并能选取合适的索引类型。

4.能通过观察执行计划和使用适当的策略对查询进行优化。

三、实验步骤1.索引的创建和删除首先,在已创建的数据库中选择适合创建索引的表。

通过如下语句创建一个测试表:CREATE TABLE test_table(id INT PRIMARY KEY,name VARCHAR(50),age INT);然后,可以在表的字段上创建索引,通过如下语句创建一个索引:CREATE INDEX idx_name ON test_table(name);索引创建完成后,可以通过如下语句删除索引:DROP INDEX idx_name ON test_table;2.索引的修改可以使用ALTER TABLE语句对已创建的索引进行修改。

例如,修改索引的名称:ALTER INDEX idx_name RENAME TO new_idx_name;或者修改索引的定义:ALTER INDEX idx_name RENAME COLUMN new_column_name;3.选择合适的索引类型在创建索引时,需要选择合适的索引类型。

常见的索引类型包括B树索引、哈希索引和全文索引。

- B树索引:适用于等值查询、范围查询和排序场景。

- 哈希索引:适用于等值查询,不支持范围查询和排序。

- 全文索引:适用于全文搜索场景。

4.查询优化在进行数据库查询时,可以通过观察执行计划来判断查询是否有优化空间。

执行计划是数据库在执行查询时生成的查询执行步骤和顺序图,可以根据执行计划优化查询。

另外,还可以通过以下策略对查询进行优化:- 使用合适的索引类型- 避免使用LIKE操作符- 避免使用SELECT *查询所有字段- 避免多表连接查询- 使用JOIN代替子查询- 避免使用不必要的DISTINCT操作符- 分页查询时,使用LIMIT关键字限制结果数量四、实验结果与分析通过实验,我们成功创建了一个测试表,并在该表的字段上创建了索引。

数据库实验报告

数据库实验报告

数据库实验报告实验名称:数据库查询操作实验目的:熟悉数据库查询,掌握SQL查询语句的使用方法实验环境:SQL Server 2005实验内容及结果:1.检索供应零件给编号为J1的工程的供应商编号SNO2. 检索供应零件给工程J1,且零件编号为P1的供应商编号SNO3. 查询全体工程的详细信息4. 查询没有正余额的工程编号、名称及城市,结果按工程编号升序排列5. 求使用零件数量在100与1000之间的工程的编号、零件号和数量6. 查询上海的供应商名称(假设供应商关系的SADDR列的值都以城市名开头)7. 求使用了P3零件的工程名称8. 求供应零件给工程J1,且零件颜色为红色的供应商编号SNO9. 求至少使用了零件编号为P3和P5的工程编号JNO10. 求不使用编号为P3零件的工程编号JNO和名称JNAME11. 求使用了全部零件的工程名称12. 求至少用了供应商’S1’所供应的全部零件的工程号JNO13. 求供应P3零件的供应商个数14. 求项目余额的最大值,最小值,总值和平均值,输出的列名分别为:MAX_NUMBER,MIN_NUMBER,SUM_NUMBER,A VG_NUMBER15. 统计每个供应商供应不同零件的种数和供应总数量16. 统计上海地区的项目使用零件的种数(超过3种)和零件总数量。

要求查询结果按零件的种数升序排列,种数相同时按总数量降序排列。

17. 求不使用编号为P3零件的工程编号JNO和名称JNAME18. 检索至少不使用P3和P5这两种零件的工程编号JNO19. 查询最昂贵的零件单价20. 查询至少使用了‘东方配件厂’一种零件的工程编号实验总结:通过本次试验,基本掌握SQL查询语句的使用,熟悉并学会运用SQL Server 2005环境下的数据库查询操作,达到了实验目的。

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

一、实验目的
1.熟悉.NET平台窗口和控件的基本编程方法
2.掌握与SQL Service数据库的连接方法二、实验内容
(实验题目+运行界面截图+实现代码)
1、连接后显示的数据库university中student表的信息
2、各表之间的转换
1)form1 代码(注:红色为输入的代码)
Public Class Form1
Private Sub StudentBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StudentBindingNavigatorSaveItem.Click
Me.Validate()
Me.StudentBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.UniversityDataSet) End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: 这行代码将数据加载到表“UniversityDataSet.student”中。

您可以根据需要移动或移除它。

Me.StudentTableAdapter.Fill(Me.UniversityDataSet.student) End Sub
Private Sub Form2ToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Form2ToolStripMenuItem.Click
Me.Hide()
Form2.Show()
End Sub
Private Sub Form3ToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Form3ToolStripMenuItem.Click
Me.Hide()
Form3.Show()
End Sub
End Class
2)form2 代码
Public Class Form2
Private Sub Form1ToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Form1ToolStripMenuItem.Click
Me.Hide()
Form1.Show()
End Sub
Private Sub Form3ToolStripMenuItem_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
Form3ToolStripMenuItem.Click
Me.Hide()
Form3.Show()
End Sub
End Class
3)form3代码
Public Class Form3
Private Sub Form1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Form1ToolStripMenuItem.Click
Me.Hide()
Form1.Show()
End Sub
Private Sub Form2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles
Form2ToolStripMenuItem.Click
Me.Hide()
Form2.Show()
End Sub
End Class。

相关文档
最新文档