数据库实验报告二
数据库实验报告(通用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 进行数据库的备份。
SQL实验二:数据库查询实验报告
实验二数据库的查询实验实验目的和要求(1)掌握SQL Server查询分析器的使用方法,加深对SQL和Transact-SQL语言的查询语句的理解。
(2)熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。
(3)熟练掌握数据查询中的分组、统计、计算和组合的操作方法。
实验内容和原理在实验一定义的“学生成绩数据库”中,使用T-SQL 语句完成以下查询:(1 )求计算机系学生的学号和姓名。
(2)求选修了数学的学生学号、姓名和成绩。
(3)求选修01 课程的学生学号和成绩,并要求对查询结果按成绩降序排列,如果成绩相同则按学号升序排列。
(4)查找选修课程的平均成绩位于前三名的学生的学号。
(5)查询计算机系的姓刘且单名的学生的信息。
(6)查询至少选修两门课程的学生学号。
(7)查询学生的学号、课程号以及对应成绩与所有学生所有课程的最高成绩的百分比。
(8)查询选修“数据库”课程,且成绩在80 分以上的学生的学号和成绩。
(9)查询所有姓“王”的同学没有选修的课程名。
(请分别用exists和in完成该查询) (10)查询选修了全部课程的学生的姓名。
(请至少写出两种查询语句)(11)求选修了学生“ 95001”所选修的全部课程的学生学号和姓名。
(12)查询每一门课的间接先修课。
(13)列出所有学生所有可能的选课情况。
(14)列出每个学生的学号及选修课程号,没有选修的学生的学号也一并列出。
(15)输出与“张三”同性别并位于同一个系的所有同学的姓名。
(请至少写出两种查询语句)(16)查询至少被两名男生选修的课程名。
(17)对被两名以上学生所选修的课程统计每门课的选课人数。
要求输出课程号和选修人数,查询结果按人数降序排列;若人数相同,按课程号升序排列。
(18)列出选修课程超过 3 门的学生姓名及选修门数。
(19)检索至少选修课程号为01 和03 的学生姓名。
(20)检索至少选修课程“数学”和“操作系统”的学生学号。
(21 )查询‘操作系统'课程的最高分的学生的姓名、性别、所在系(22)查询数据结构的成绩低于操作系统的成绩的学生姓名及该生的这两门课的成绩(23)所有成绩都在70 分以上的学生姓名及所在系。
数据库实验报告
实验(一): 熟练掌握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.实验目的了解SQL Server 2005的系统配置、“联机丛书”的内容;掌握Microsoft SQL Server Management Studio 的基本操作及模版的使用方法。
熟练掌握和使用SQL Server Management Studio、Transact-SQL语句创建和管理数据库,并学会使用SQL Server查询分析器接受Transact-SQL语句和进行结果分析。
熟练掌握SQL Server Management Studio的使用和使用Transact-SQL语句创建并删除数据表、修改表结构,更新数据。
学会使用SQL Server查询分析器接受Transact-SQL 语句并进行结果分析。
2.实验内容(1)查看SQL Server 2005的系统配置。
(2)查看SQL Server“联机丛书”的内容。
(3)查看Microsoft SQL Server Management Studio的环境并掌握其基本操作。
(4)查看Microsoft SQL Server Management Studio脚本模版环境并掌握起模版使用方法。
(5)创建数据库(6)查看和修改数据库的属性(7)修改数据库的名称(8)删除数据库(9)分别使用SQL Server Management Studio和Transact-SQL语句创建和删除数据库表,修改表结构,输入并更新数据。
3.实验步骤1)配置安装完Microsoft SQL Server 2005后要对SQL Server 2005进行配置。
包括两方面的内容:配置服务和配置服务器。
2)“联机丛书”SQL Server“联机丛书”提供了对SQL Server 2005文档和帮助系统所作的改进,这些文档可以帮助用户了解SQL Server 2005以及如何实现数据管理和商业智能项目。
3)SQL Server Management StudioMicrosoft SQL Server Management Studio 是为SQL Server数据库管理员和开发人员提供的新工具。
数据库实验报告二 单表查询
实验二单表查询【实验目的】掌握单表查询语句的使用,主要包括选择、投影运算,以及精确查询、模糊查询和分组查询、排序等内容。
【实验内容】在实验一的基础上完成以下实验内容。
(1)(选择表中的若干列) 求全体学生的学号、姓名、性别和年龄。
(2)(不选择重复行) 求选修了课程的学生学号。
(3)(选择表中的所有列) 求全体学生的详细信息。
(4)(使用表达式) 求全体学生的学号、姓名和出生年份。
(5)(使用列的别名) 求学生的学号和出生年份,显示时使用别名“学号”和“出生年份”。
(6)(比较大小条件) 求年龄大于19岁的学生的姓名和年龄。
(7)(比较大小条件) 求计算机系或信息系年龄大于18岁的学生的姓名、系和年龄。
(8)(确定范围条件) 求年龄在19岁与22岁(含20岁和22岁)之间的学生的学号和年龄。
(9)(确定范围条件) 求年龄不在19岁与22岁之间的学生的学号和年龄。
(10)(确定集合条件) 求在下列各系的学生信息:数学系、计算机系。
(11)(确定集合条件) 求不是数学系、计算机系的学生信息。
(12)(模糊查询) 求姓名是以“李”打头的学生。
(13)(模糊查询) 求姓名中含有“志”的学生。
(14)(模糊查询) 求姓名长度至少是三个汉字且倒数第三个汉字必须是“马”的学生。
(15)(模糊查询) 求选修课程001或003,成绩在80至90之间,学号为96xxx的学生的学号、课程号和成绩。
(16)(涉及空值查询) 求缺少学习成绩的学生的学号和课程号。
(17)(17)(控制行的显示顺序) 求选修001课程的学生的学号、课程号和分数,结果按分数降序排序。
(18)(组函数) 求学生总人数。
(19)(组函数) 求选修了课程的学生人数。
(20)(组函数) 求计算机系学生的平均年龄。
(21)(组函数) 求选修了课程001的最高、最低与平均成绩。
(22)(分组查询) 求各门课程的平均成绩与总成绩。
(23)(分组查询) 求各门课程的平均成绩与总成绩,结果按总成绩排序。
数据库实验报告
数据库实验报告实验⼀创建数据库及关系表⼀、实验⽬的1. 掌握SQL Server数据库管理系统的使⽤,能够中该环境中进⾏⽇常数据库操作;2. 掌握在SQL Server中使⽤图形化⼯具创建数据库的⽅法;3.掌握建⽴关系表的语句,掌握定义主码约束及外码约束的语句;4.掌握修改表结构的语句。
⼆、实验要求1.了解SQL Server数据库的组成,会使⽤图形化⼯具创建数据库。
2.编写建⽴表及主、外码约束的T-SQL语句,并执⾏这些语句,在数据库中建⽴符合要求的关系表。
3.编写修改表结构的语句。
三、实验内容和步骤1.创建符合如下条件的数据库:数据库的名字为:Students数据⽂件的逻辑⽂件名为:Students_dat,存放在D:\Test录下(若D:盘中⽆此⼦⽬录,可先建⽴此⽬录,然后再创建数据库。
);⽂件的初始⼤⼩为:5MB;增长⽅式为⾃动增长,每次增加1MB。
⽇志⽂件的逻辑⽂件名字为:Students_log,也存放在D:\Test⽬录下;⽇志⽂件的初始⼤⼩为:2MB;⽇志⽂件的增长⽅式为⾃动增长,每次增加10%。
2.在已建⽴的Students数据库中,写出创建满⾜下述条件的四张表的SQL 语句,并查看执⾏结果。
Teacher表结构Create table student (Sno char(7)primary key,Sname nchar(10)not null,Ssex nchar(2),Sage tinyint,Sdept nvarchar(20),Spec char(10))create table course(Cno char(10),Cname nvarchar(20)not null,Credit int,Semester tinyint,Primary key(Cno))create table sc(Sno char(7)not null,Cno char(10)not null,Grade tinyint,primary key(Sno,Cno),foreign key(Sno )references Student(Sno), foreign key(Cno )references Course(Cno), ) create table teacher(Tno char(8)not null,Tname char(10)not null,Dept nvarchar(20),Salary numeric(6,2),Birthery smalldatetime)执⾏结果:2.写出实现如下操作的SQL语句,并查看执⾏结果:(1)在SC表中添加⼀个新的修课类别列:列名为:XKLB,类型为char(4)。
数据库实验报告全
数据库实验报告全实验⼀实验⽬的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三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
北邮大三下第2次数据库实验报告--kingbase数据库的建立
1 实验二数据库表/视图的创建与维护实验一、实验内容1、数据库表实验:(1)创建数据库表创建学生选课数据库中所包含的数据库表,数据库表结构如下:学生(学号,姓名,性别,年龄,系别,班级)课程(课程编号,课程名称,学分)选修(学号,课程编号,学生成绩)要求为各数据库表属性选择合适的数据类型。
列名、数据类型(长度列、精度、小数位数项)、是否允许空值等。
(2)查看和修改表结构。
选择一个数据库表,练习对其表结构进行相应的修改。
(3)练习用交互式的SQL语句分别完成以上操作。
(4)对学生数据库中的三张表分别插入数据;(5)对表中的数据进行修改;(6)对表中的数据进行删除操作2、视图实验:视图的建立、修改、删除(1)建立如下视图:学生选修课程信息视图,包括以下内容:学生学号、姓名、所在系、选修的课程编号、课程名称、成绩(2)修改以上视图,增加学生所在班级信息。
(3)对以上视图删除。
二、实验要求(1)用交互式语句完成以上操作;(2)能够对整个的过程进行批命令操作;(3)要求学生独立完成以上内容。
(4)根据以上内容确定实验步骤。
(5)实验完成后完成要求的实验报告内容。
三、实验平台及环境Windows7 系统Kingbase ES V7软件平台四、实验步骤及结果分析1、数据库表实验:2 (1)创建数据库表创建学生选课数据库中所包含的数据库表,数据库表结构如下:学生(学号,姓名,性别,年龄,系别,班级)课程(课程编号,课程名称,学分)选修(学号,课程编号,学生成绩)创建“学生选课”数据库sql代码Create database “学生选课” withEncoding =’GBK’;创建“学生选课系统”模式:Create shema “学生选课系统”;在“学生选课系统”模式中建立表格“学生”:create table "学生选课系统"."学生”("学号" varchar(10) notnull,“姓名”varchar(10) notnull,“年龄”numeric(1,0) notnull,“系别”varchar(20) notnull,“班级” char (10) notnull,primary key ("学号"));(2)查看和修改表结构。
数据库实验报告
数据库实验报告一、实验目的本次数据库实验的主要目的是深入了解数据库的基本概念和操作,掌握数据库管理系统的使用方法,提高对数据的管理和处理能力。
通过实际操作,我们希望能够熟练运用SQL 语句进行数据的查询、插入、更新和删除,以及创建和管理数据库表、索引和视图等对象。
二、实验环境本次实验使用的数据库管理系统是 MySQL 80,操作系统为Windows 10。
实验在个人计算机上进行,使用 MySQL Workbench 作为数据库管理工具。
三、实验内容1、数据库创建使用 CREATE DATABASE 语句创建了一个名为“student_management”的数据库,用于存储学生管理相关的数据。
2、表的创建在“student_management”数据库中,创建了以下几张表:“students”表,包含学生的学号(student_id)、姓名(name)、性别(gender)、年龄(age)等字段。
“courses”表,包含课程的课程号(course_id)、课程名称(course_name)、学分(credit)等字段。
“enrolls”表,用于关联学生和课程,包含学生学号(student_id)、课程号(course_id)和成绩(grade)等字段。
3、数据插入使用 INSERT INTO 语句向上述表中插入了一些示例数据,以方便后续的查询和操作。
4、数据查询通过 SELECT 语句进行了多种查询操作,例如:查询所有学生的信息。
查询特定性别学生的信息。
查询选修了某门课程的学生名单及成绩。
5、数据更新使用 UPDATE 语句对部分学生的年龄或成绩进行了修改。
6、数据删除使用 DELETE 语句删除了一些不再需要的数据记录。
7、索引创建为“students”表的“student_id”字段和“courses”表的“course_id”字段创建了索引,以提高查询效率。
8、视图创建创建了一个名为“student_course_grade_view”的视图,用于展示学生的学号、姓名、课程名称和成绩。
数据库概论实验报告
数据库概论实验报告《数据库概论实验报告》在当今信息时代,数据库已经成为了各行各业的重要组成部分。
作为信息存储和管理的重要工具,数据库的作用不可忽视。
为了更好地了解数据库的基本概念和原理,我们进行了数据库概论的实验,并撰写了以下实验报告。
实验一:数据库基本概念在本次实验中,我们首先学习了数据库的基本概念,包括数据、数据库、数据库管理系统(DBMS)等。
我们了解到数据库是按照数据结构来组织、存储和管理数据的仓库,而DBMS则是用来管理数据库的软件系统。
通过实际操作,我们学会了如何创建数据库、表格和插入数据,以及如何使用SQL语句进行数据查询和更新。
实验二:数据库设计与规范化在这一部分实验中,我们学习了数据库设计的基本原则和规范化的概念。
我们了解到数据库设计是一个重要的环节,它直接影响到数据库的性能和数据的完整性。
我们学会了如何进行实体-关系模型(ER模型)的设计,以及如何将设计的实体-关系模型转化为数据库表格。
同时,我们还学习了数据库的规范化,通过规范化可以消除数据冗余,提高数据库的性能和数据的一致性。
实验三:数据库安全与完整性在这一部分实验中,我们学习了数据库的安全性和完整性的重要性。
我们了解到数据库安全性是指保护数据库免受未经授权的访问和恶意攻击,而数据库完整性则是指保证数据库中的数据是准确、一致和完整的。
我们学会了如何设置用户权限、加密数据、备份和恢复数据,以及如何使用触发器和约束来保证数据库的完整性。
通过本次数据库概论实验,我们深入了解了数据库的基本概念、设计原则和安全性要求。
我们相信这些知识将对我们今后的学习和工作产生重要的帮助,也让我们更加深入地理解了信息技术领域中数据库的重要性和作用。
希望通过不断地实践和学习,我们能够更好地掌握数据库的知识和技能,为未来的发展打下坚实的基础。
数据库原理实验报告二
LIAOCHENG UNIVERSITY计算机学院实验报告【 2015 ~ 2016 学年第 2 学期】【一、基本信息】【实验课程】数据库原理与应用【设课形式】独立□非独立√【课程学分】0.5【实验项目】实验二、SQL数据操作及查询【项目类型】基础√综合□设计□研究创新□其它[ ] 【项目学时】 4 【学生姓名】傅雪晨【学号】2014204359【系别专业】电子商务【实验班组】 2014.06【同组学生】【实验室名】综合实验楼【实验日期】【报告日期】【二、实验教师对报告的最终评价及处理意见】实验成绩:(涂改无效)指导教师签名:年月日注:要将实验项目、实验课程的成绩评定及课程考核办法明确告知学生,并报实验管理中心备案3.将教材P70表中的数据添加到数据库SPJDB中. 体会执行插入操作时检查实体完整性规则、参照完整性规则和用户定义完整性规则的效果.Insert into S59select's1','精益','20','天津'unionselect's2','盛锡','10','北京'unionselect's3','东方红','30','北京'unionselect's4','丰泰盛','20','天津'unionselect's5','为民','30','上海'Insert into P59select'p1','螺母','红',12 unionselect'p2','螺栓','绿',17 unionselect'p3','螺丝刀','蓝',14 unionselect'p4','螺丝刀','红',14 unionselect'p5','凸轮','蓝',40 unionselect'p6','齿轮','红',30Insert into J59select'J1','三建','北京'unionselect'J2','一汽','长春'unionselect'J3','弹簧厂','天津'unionselect'J4','造船厂','天津'unionselect'J5','机车厂','唐山'unionselect'J6','无线电厂','常州'union4.删除student表中学号为201215121的学生,体会执行删除操作时检查参照完整性规则的效果.将参照完整性中的删除规则改为“级联(层叠)”(CASCADE),重新删除该学生信息。
《数据库原理》实验报告2 SQL语言的DDL
《数据库原理》实验报告专业:计算机科学与技术班级:09-3学号:409417080332姓名:张华超SQL语言的DDL一、实验目的:SQL Server 2000的查询分析器是一种特别用于交互式执行SQL语句和脚本的极好的工具。
SQL(Structured Query Language)语言是关系数据库的标准语言。
是一种介于关系代数与关系演算之间的结构化查询语言,其功能并不仅仅是查询,SQL语言是一个通用的、功能极强的关系数据库语言。
在本次实验中熟悉表的创建、删除、修改及索引的创建与删除二、实验内容1.启动数据库服务软件SQL Server 2000的查询分析器,用如下语句对表进行操作,详细的语法格式参看课本相应章节:Create Table 建表Drop Table 删除表Alter Table 更改表2.如下语句对索引进行操作,详细的语法格式参看课本相应章节:Create Index 建立索引Drop Index 删除索引三、实验任务1.打开数据库SQL Server 2000的查询分析器,用Create Table建表aa,表2.用Create Table建表bb,表结构如下所示(其中Bb1与Bb2的组合是主键):3.用Drop Table删除表aa。
4.用Alter Table修改表bb,添加一个字段Bb4,类型Varchar,长度20。
5.用Create Index对表Bb的Bb3字段建立一个升序索引,索引名Indexbb。
6.用Drop Index删除索引Indexbb。
Create Table aa(Aa1 Varchar (20) primary key,Aa2 Int,Aa3 Decimal);Create Table bb(Bb1 Varchar (30),Bb2 Int,Bb3 Decimal (6,2),primary key (Bb1,Bb2));Drop Table aa;Alter Table bb add Bb4 Varchar (20);Create Index Indexbb on bb(Bb3 asc );Drop Index bb.Indexbb;。
SQL数据库实验报告
数据库实验报告学院:专业:班级:学号:姓名:实验二数据库单表查询一、实验目的1. 掌握SELECT 语句的基本语法和查询条件表示方法;2. 掌握查询条件表达式和使用方法;3. 掌握GROUP BY 子句的作用和使用方法;4. 掌握HAVING 子句的作用和使用方法;5. 掌握ORDER BY 子句的作用和使用方法。
二、实验内容利用数据库进行单表查询。
1). 查询全体学生的学号和姓名;2). 查询全体学生的所有信息;3). 查询全体学生的姓名,出生年份,和所在系,并用小写字母表示所有系名;4). 给上例的结果集指定列名;5). 查询选修了课程的学生的学号;6). 查询年龄在20 岁以下的学生的姓名及其年龄;7). 查询考试成绩有不及格的学生的学号;8). 查询年龄在20-30 岁之间的学生的姓名,性别,所在系;9). 查询IS, CS, MA 系的所有学生的姓名和性别;10). 查找所有姓’李’的学生的姓名, 学号和性别;11). 查询没有先行课的课程的课程号cno 和课程名cname。
三、实验代码及运行结果截图--建立数据库,取名为LilyCREATE DATABASE Lily;--建立学生表,取名为STUDENTCREATE TABLE STUDENT(SNO CHAR(9)PRIMARY KEY,SNAME CHAR(20)UNIQUE,SSEX CHAR(2),SAGE SMALLINT,SDEPT CHAR(20));--向学生表中插入数据INSERT INTO STUDENT VALUES(201215121,'李勇','男',20,'CS'); INSERT INTO STUDENT VALUES(201215122,'刘晨','女',19,'CS'); INSERT INTO STUDENT VALUES(201215123,'王敏','女',18,'MA'); INSERT INTO STUDENT VALUES(201215125,'张立','男',19,'IS');--建立课程表,取名为COURSECREATE TABLE COURSE(CNO CHAR(4)PRIMARY KEY,CNAME CHAR(40)NOT NULL,CPNO CHAR(4),CCREDIT SMALLINT,FOREIGN KEY(CPNO)REFERENCES COURSE(CNO));--向COURSE表中插入数据INSERT INTO COURSE VALUES(2,'数学',null,2);INSERT INTO COURSE VALUES(6,'数据处理',null,2);INSERT INTO COURSE VALUES(7,'PASCAL语言',6,4);INSERT INTO COURSE VALUES(4,'操作系统',6,3);INSERT INTO COURSE VALUES(5,'数据结构',7,4); INSERT INTO COURSE VALUES(1,'数据库',5,4); INSERT INTO COURSE VALUES(3,'信息系统',1,4);--建立选课表,取名SCCREATE 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) );--向SC表中插入数据INSERT INTO SC VALUES(201215121,1,92); INSERT INTO SC VALUES(201215121,2,85); INSERT INTO SC VALUES(201215121,3,88); INSERT INTO SC VALUES(201215122,2,90); INSERT INTO SC VALUES(201215122,3,80); INSERT INTO SC VALUES(201215122,1,59);--1查询全体学生的学号和姓名SELECT SNO,SNAMEFROM STUDENT--2查询全体学生的全体信息SELECT*FROM STUDENT--3查询全体学生的姓名,出生年份,和所在系,并用小写字母表示所有系名SELECT SNAME,2012-SAGE,LOWER(SDEPT)FROM STUDENT--4给上例的结果指定列名SELECT SNAME,2012-SAGE AS'BIRTHYEAR',LOWER(SDEPT)as'SDEPT'FROM STUDENT--5查询选修了课程的学生的学号SELECT DISTINCT SNOFROM SC--6查询年龄在20岁以下的学生的姓名及其年龄SELECT SNAME,SAGEFROM STUDENTWHERE SAGE<20--7查询考试成绩有不及格学生的学号SELECT SNOFROM SCWHERE GRADE<60--8查询年龄在20-30岁之间的学生的姓名,性别,所在系SELECT SNAME,SSEX,SDEPTFROM STUDENTWHERE SAGE BETWEEN 20 AND 30--9查询IS,CS,MA系的所有学生的姓名和性别SELECT SNAME,SSEXFROM STUDENTWHERE SDEPT IN('IS','CS','MA');--10查找所有姓李的学生的姓名,学号和性别SELECT SNAME,SNO,SSEXFROM STUDENTWHERE SNAME LIKE'李%';--11查询没有先行课的课程的课程号cno和课程名cnameSELECT CNO,CNAMEFROM COURSEWHERE CPNO IS NULL四、实验小结小结:本次实验学习了利用数据库进行单表查询,掌握了简单SQL语句的使用。
数据库实验二实验报告
_数据库实验二课程实验报告实验名称:姓名班级学号实验台编号同组学生实验课表现出勤、表现得分25% 实验报告得分50%实验总分操作结果得分25%实验目的:1.掌握SELECT语句的基本语法2.掌握SELECT语句中的SELECT子句的作用及使用方法3.掌握SELECT语句中的WHERE子句的作用及使用方法4.掌握SELECT语句中的ORDER BY子句的作用及使用方法5.掌握集合函数的作用及使用方法6.掌握SELECT语句中的GROUP BY子句的作用及使用方法7.熟悉内连接、外连接、自连接和非限制连接的概念8.能够熟练使用连接查询从多个表中查询数据9.能够熟练地使用子查询得到想要的数据实验内容:一、简单查询1.查询XS表中各个同学的所有信息。
select* from XS;2.查询XS表中各个同学的姓名、专业名和总学分。
select姓名,专业,总学分from XS;3.查询XS表中所有同学的学号、姓名和总学分,结果中各列的标题分别指定为num,name和mark。
select学号num,姓名name,总学分mark from XS;4.查询XS表中的学生数据来自哪些专业(使用DISTINCT子句消除结果集中的重复行)。
select distinct专业from XS;5.查询XS表中各个同学的姓名、专业名和总学分,只返回结果集的前5行。
select top 5 姓名,专业,总学分from XS;6.查询XS表中每个学生的学号、姓名和年龄信息。
select datediff(yyyy,出生日期,'2010')年龄from XS;7.查询XS表中专业为“计算机”的同学的情况。
select*from XS where专业='计算机';8.查询XS表中1979年出生的学生姓名和专业情况。
SELECT姓名,专业from XS where year(出生日期)='1979';9.查询XS表中专业名为“计算机”或“电子”或“数学”的学生的情况。
数据库查询实验报告
实验报告课程名称:数据库系统概论学院:工程学院专业:年级:班级:姓名:学号:指导教师:年12 月10 日教务处制:在 INTO 子句中指出了表名 student,并指出了新增长旳元组在哪些属性上要赋值,属性旳次序可以与 CREATE TABLE 中旳次序不一样样。
INSERT INTO "S-C"."STUDENT"VALUES('','张成民','男','18','CS' );select* from "S-C"."STUDENT":值与属性要一一对应。
INSERT INTO "S-C".sc (sno,cno)VALUES('','1');SELECT*from "S-C".sc;:在新插入旳记录中 GRADE 列自动地赋空值。
或者: INSERT INTO "S-C".scVALUES('','1',null);SELECT*from "S-C".sc;:若直接在 SC 中直接插入选课记录,由于没有指出 SC 旳属性名,在 GRADE 列上要明确给出空值NULL。
创立新表CREATE TABLE dept_age(sdept CHAR (15),avg_age smallint);把系名和平均年龄存入新表insertinto dept_age(Sdept,avg_age) select sdept,avg(sage)from "S-C".studentgroup by sdept;UPDATE "S-C"."STUDENT"SET Sage=22WHERE sno=;select*from "S-C".student;UPDATE "S-C"."STUDENT"SET Sage=sage+1;select*from "S-C".student;UPDATE "S-C"."SC"SET Grade=0where sno in(select snofrom "S-C".studentwhere sdept='cs');SELECT*FROM "S-C".SC;DELETEfrom "S-C".studentWHERE sno='';select*from "S-C".student;DELETEFROM "S-C".SC;SELECT*FROM "S-C".SC;:这条 DELETE 语句将使 SC 成为空表,它删除了 SC 旳所有元组。
数据库实验报告(2)
数据库原理及应用实验报告实验二实验题目:SQL基本表查询基本表、索引与视图的定义、删除和修改指导老师:李萍专业班级:计算机科学与技术系1106班姓名:李锋()2013年9月29日实验类型__验证__ 实验室_软件实验室一__ 一、实验题目:SQL 基本表查询基本表、索引与视图的定义、删除和修改二、实验目的和要求:熟悉SQL Server的企业管理器的用法,初步了解SQL Server查询分析器的使用方法,熟悉SQL SERVER的常用数据类型,加深对SQL和SQL语言的查询语句的理解。
熟练掌握简单表、索引与视图的创建与修改。
三、实验内容:(1)基本表的建立:a)建立一个“学生表student”,它由学号xh、姓名xm、性别xb、年龄nl、所在系xi五个属性组成,其中学号属性为主属性,并且其值是唯一的。
b)建立“课程course”包括课程号kch,课程名称kcmc,先修课程xxkc,学分xf,要求建立主键课程号c)建立“选课表sc”包括学号xh,课程号kch,成绩grade,要求建立主键及与student及sc表联接的外键(2) 基本表的修改:d)在选课表中增加一列“任课教师rkjs”e)删除选课表中rkjs一列f)将student表的xm一列允许空值的属性更改成不允许为空,将列xm的长度由char(8)改为char(10)g)建立一个临时表,再将其删除(3)索引的建立与删除a)在学生表中以学生的姓名建立降序索引b)在课程表中以课程名建立升序,以学分建立降序索引c)删除以上索引(4) 建立、删除和更新视图a)建立数学系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有数学系的学生,视图的属性名为Sno,Sname,Sage,Sdept。
CREATE VIEW C_Student AS SELECT Sno, Sname, Sage, SdeptFROM StudentsWHERE Sdept=’数学’ WITH CHECK OPTIONb)删除视图在数学系的学生视图C_Student中找出年龄(Sage)小于20岁的学生姓名(Sname)和年龄(Sage)。
实验2复杂查询
(5)查询emp表和salgrade表显示部门20的雇员名,工资及其工E同部门的所有雇员,但不显示BLAKE.
(2)显示超过平均工资的所有雇员名,工资及其部门号
(3)显示超过该部门平均工资的所有该部门雇员名,工资及部门号。
(4)显示高于CLERK岗位所有雇员工资的所有雇员名,工资及岗位
2.select ename,comm,dname from emp e,dept d where e.deptno=d.deptno and comm is not null;
3.select ename,sal,dname from emp e,dept d where d.deptno=e.deptno and loc='LALLAS';
【实验步骤和方法】
1、启动oracle的相关服务。
2、启动SQL*plus工具,用scott普通用户登录oracle。
3、完成实验内容。
【实验预习要求】
重点复习oracle的多表查询,子查询和外连接。
【实验报告要求】
除按实验报告纸的内容进行填写外,主体部分包括以下内容:
(1)程序中用到哪些命令
(2)实验步骤
2.实验步骤
3.实验运行结果及结果分析
4.上机调试中遇到的主要问题及解决办法
倒数第二个显示超过该部门平均工资的所有该部门雇员名,工资及部门号。
查看课本P102例子和p130
还有一种解决方法
select ename,sal,emp.deptno from emp,(select avg(sal) a,deptno from emp group by deptno) t where emp.deptno=t.deptno and emp.sal>t.a;
SQL 数据库实验报告2
3.在数据库名称中输入 TSGL4.点击确定,TSGL数据库建立完成,出现如下界面。
(2)建立readers(读者信息表)readers表结构列名描述数据类型允许空值说明ReaderID 读者编号Char(10) NO 主键Name 读者姓名Char(8) YESRederType 读者类型Int YES 外键BorrowedQuantity 已借数量int YES点击“TSGL”左上角“新建查询”处,创建语句:Create table readers(ReaderID char(10) primary key,Name char(8),RederType int,BorrowedQuantity int );输入完毕后,点击执行,确认语句无误后,点击保存。
(3)建立books(图书信息表)books 表的结构列名含义数据类型允许空值说明BookID 图书编号char(15) NO 主键Name 图书名称varchar(50) YESAuthor 作者char(8) YESPublisher 出版社varchar(30) YES PublishedDate 出版日期smalldatetime YESPrice 价格real YES点击“TSGL”左上角“新建查询”处,创建语句:Create table books(BookID char(15) primary key,Name varchar(50),Author char(8),Publisher varchar(30),PublishedDate smalldatetime,Price real);输入完毕后,点击执行,确认语句无误后,点击保存。
(4)建立borrowinf(借阅信息表)borrowinf表的结构列名含义数据类型允许空值说明ReaderID 读者编号char(10) NO主键(外键) BookID 图书编号char(15) NOBorrowedDate 借阅日期datetime NOReturnDate 归还日期datetime YES点击“TSGL”左上角“新建查询”处,创建语句:Create table borrowinf(ReaderID char(10),BookID char(15),BorrowedDate datetime not null,ReturnDate datetime,Primary key(ReaderID,BookID),Foreign key(ReaderID)references readers(ReaderID),Foreign key(BookID)references books(BookID), );输入完毕后,点击执行,确认语句无误后,点击保存。
数据库课程实验报告_实验二_SQL SERVER 2000 操纵数据和使用视图
实验二SQL SERVER 2000 操纵数据和使用视图一.目的要求1.熟练进行数据库数据的查询2.练习对数据库的更新3.练习视图的创建和数据操纵二.实验内容:S表c表sc表1使用SQL语句完成以下查询:(1)检索Liu老师所受课程的课程号和课程名:(2)检索年龄大于23岁的男生的学号与姓名:(3) 检索“W ANG LIN“同学不学的课程的课程号(5)求选修C4课程的学生的平均年龄(1)统计每门课程的学生选修人数(超过5人才统计)。
要求输出课程号和人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
(7)检索姓名以W ANG打头的所有学生的姓名和年龄(8)求年龄大于女同学平均年龄的南男同学姓名和年龄2使用SQL语句完成以下更新:(1)将元组(‘S9’,‘WU’,‘18’)添加到S表中。
(2)另建一个表STUDENT(SNO,NAME,SEX),将各门课成绩都达到80分的同学的有关数据存入该表。
(3)从SC中删除没有成绩的元组。
(4)删除学生W ANG的选修课程和成绩。
(5)把课程MA THS不及格的成绩改为空值。
(6)把低于总平均成绩的女生成绩提高5% 原表(女生)(7)对于所有选修C4课程的学生,成绩如果小于等于75就提高5%,否则提高4%3.建立一个视图,能够从中查询每个学生的学号、姓名、已取得成绩的课程书和平均成绩。
再在该视图上试着进行各种查询和更新。
上机体会通过第二次上机,我对SQL Server 7.0的查询器和SQL语句有了进一步了解。
特别是查询和更新语句,让我把课本知识和时间有机地结合起来。
让我对数据库的学习又产生了新的动力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据库原理》实验报告
实验三:
数据库完整性与安全性控
制
实验四:
视图与索引
学号姓名
班级日期
2013302534 杨添文10011303 2015.10.1
7 实验三:数据完整性与安全性控制
一、实验内容
1.利用图形用户界面对实验一中所创建的Student库的S表中,增加以下的约束和索引。
(18分,每小题3分)
(1)非空约束:为出生日期添加非空约束。
(2)主键约束:将学号(sno)设置为主键,主键名为pk_sno。
(3)唯一约束:为姓名(sname)添加唯一约束(唯一键),约束名为uk_sname。
(4)缺省约束:为性别(ssex)添加默认值,其值为“男”。
(5)CHECK约束:为SC表的成绩(grade)添加CHECK约束,约束名为ck_grade,其检查
条件为:成绩应该在0-100之间。
(6)外键约束:为SC表添加外键约束,将sno,cno设置为外键,其引用表为分别是S
表和C表,外键名称分别为fk_sno,fk_cno。
2.在图形用户界面中删除上小题中已经创建的各种约束,用SQL语言分别重新创建第1小题中的(2)-(6)小题。
(15分,每小题3分,提示:alter table add constraint)(2)alter table s
add constraint pk_sno primary key(sno)
(3)alter table s
add constraint uk_sname unique(sname)
(4)alter table s
add constraint a default('男')for ssex
(5) alter table sc
add constraint ck_grade check(grade between 0 and 100)
(6) alter table sc
add constraint fk_sno foreign key(sno)references s(sno)
alter table sc
add constraint fk_cno foreign key(cno)references c(cno)
3.利用图形用户界面根据上述SC表中的外键定义画出由S,C,SC表构成的数据库关系图。
(5分,提示:选中student -> 数据关系图)
4.用SQL语言删除S表中所创建的缺省约束和外键约束。
(6分,每小题3分)
(1)缺省约束:
alter table s
drop constraint a
(2)外键约束:
alter table sc
drop constraint fk_sno,fk_cno
5.在图形用户界面中创建新登录名以及用户。
(16分)
(3)根据第四版教材P148页第 8题,创建数据库company和其中的基本表,并创建该
题中所需要用到的各个用户以及相关的登录名。
(10分)
(4)用图形用户界面完成以下的权限赋予:(每小题3分)
a)用户王明对两个表均有Select和Insert的权力。
b)用户李勇对职工表具有Select权力,对工资字段具有更新权力。
6.用SQL语句授权和收回权限并对权限加以验证。
(40分,每题4分)
(1)第四版教材P148页第8题b),c),d),f),g)。
(b)grant insert,delete
on职工
to李勇
grant insert,delete
on部门
to李勇
(c) grant select
on职工
to public
(d)grant select,update(工资)
on职工
to刘星
(f)grant all privileges
on职工
to周平
with grant option
grant all privileges
on部门
to周平
with grant option
(g)create view wage(a,b,c,d)
as
select职工.部门号,max(工资),min(工资),avg(工资)
from职工,部门
where职工.部门号=部门.部门号
group by职工.部门号
grant select
on wage
to杨兰
(2)第四版教材P148页第9题的b),c),d),f),g)。
(提示:(c)和(g)小题可创建合适的视图,针对视图进行授权,
(c)小题用CURRENT_USER)
(b)revoke delete,insert on部门
from李勇;
revoke delete,insert on职工
from李勇;
(c)revoke select
on职工
from public
(d)revoke select,update
on职工
from刘星
(f)revoke all privileges
on职工
from周平cascade
(g)revoke select on wage。