数据库实验二.三--交
数据库原理及应用 数据库查询 实验二
《数据库原理及应用》实验报告实验名称数据库查询实验室502 实验日期求选修了课程的学生学号。
Use 学生课程GoSelect 学号from 学生where 学号in (select 学号from where 课程号 is not null)求选修1102课程的学生学号和成绩,并要求对查询结果按成绩的降序排列,如果成绩相同则按学号的升序排列。
Use 学生课程GoSelect 学号,成绩 from 课程,选课 where 课程.课程号and 课程号=1102 order by 成绩 desc,学号 asc求选修课程1102且成绩在80~90分之间的学生学号和成绩,并将成绩乘以系数0.8输出。
Use 学生课程GoSelect 学号,成绩*0.8 as 成绩 from选课 where 成绩 between 80 and求数学系或计算机系姓张的学生的信息。
Use 学生课程GoSelect * from 学生,课程,选课 where 学生.学号=选课.学号 and 课程号=课程.课程号and 姓名like ’张%’and (所在系=’数学’在系=’计算机’)求缺少了成绩的学生的学号和课程号。
Use 学生课程GoSelect 学号,课程号 from 选课 where 成绩 is null连接查询实验语句在“学生选课”数据库中实现下列数据连接查询操作。
查询每个学生的情况以及他(她)所选修的课程。
Use 学生课程GoSelect * from 学生,选课,课程 where 学生.学号=选课.学号课程号=课程.课程号求学生的学号、姓名、选修的课程名及成绩。
Use 学生课程GoSelect 学号,姓名,课程名,成绩 from 学生,选课,课程 where学生求选修1105课程且成绩为90分以上的学生学号、姓名及成绩。
Use 学生课程GoSelect 学号,姓名,成绩 from 学生,选课 where 学生.学号=选课and 课程号=1105 and 成绩>90查询每门课的选课人数。
数据库原理实验报告
实验一数据库管理系统软件的使用一、实验目的(1)认识几种常见的数据库管理系统,熟悉它们的使用界面;(2)熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作。
二、实验内容分别在Access 和SQL SERVER2000 中建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。
三、实验步骤:分别在ACCESS数据库管理系统和SQL SERVR 2005环境下利用图形操作界面(非SQL语句)实现以下操作:1、创建用于学生管理数据库,数据库名为对表中的记录进行浏览、修改、删除操作。
本信息,课程信息和选课信息。
数据库XSGL包含下列3 个表:(l) student:学生基本信息。
(2)course:课程信息表。
(3)sc:学生选课表。
各表的结构分别如表1、表2和表3 所示。
表1 学生信息表:student表2 课程信息表:course表3 学生选课表:sc提示:在不使用SQL语句创建表的情况下,可通过ACCESS中的关系(菜单—工具—关系)和SQL SERVER 2005中的数据库关系图(数据库节点展开—数据库关系图)实现外键的创建。
外键字段和参照字段之间的数据类型以及长度要保持一致。
2、输入表中的记录分别在student表、course表和sc表中输入如下表中的记录:观察输入时有无提示错误,如果有如何修改,体会参照完整性的作用,弄清楚先输入那些表中记录,为什么?3、对表中的记录进行浏览、修改、删除操作。
实验二SQL语言(一) SQL定义语言目的:会用SQL语言进行基本表的结构的定义、修改、删除,会建立与删除索引;内容:用SQL语言进行基本表结构的定义、修改、删除,索引的建立和删除步骤:1、在SQL SERVER 2005中新建查询,建立到服务器的连接2、用SQL语言CREATE TABLE语句创建实验一中学生表student、课程表course 和选课表sc及其相应约束,具体约束如下:表1 学生信息表:student表2 课程信息表:course表3 学生选课表:sc3、向创建的表中输入数据,测试所创建的完整性约束是否起作用4、用SQL语言ALTER语句修改表结构;1) STUDENT表中增加一个字段入学时间scome,2)删除STUDENT表中sdept字段;3)删除创建的SC表中CNO字段和COURSE表CNO字段之间的外键约束;4)重建3)中删除的约束5、重新定义一个简单表,然后用SQL语言DROP语句删除该表结构;6、用SQL语言CREATE INDEX语句定义表STUDENT的SNAME字段的降序唯一索引;7、用SQL语言DROP语句删除索引;实验三SQL(二) 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)在弹出的对话框中设置还原路径和名称,点击“还原”完成数据库的恢复。
数据库管理与维护-实验手册
数据库管理与维护(SQL Server 2008)鲍丽红天水师范学院目录目录实验一SQL Server 2008安装 (1)实验二数据库创建和管理 (2)实验三数据库数据表的创建和管理 (3)实验四数据库的数据查询 (5)实验五Transact-SQL的编程实现 (6)实验六销售管理数据库中视图的应用 (7)实验七数据库中索引的应用 (8)实验八存储过程的应用 (9)实验九触发器的应用 (10)实验十数据库安全性管理 (11)实验十数据库的日常维护 (12)实验十二自动化管理(选做) (13)实验一SQL Server 2008安装【实训目的】1、了解安装SQL Server 2008 的硬件和软件的要求2、掌握SQL Server 2008 的安装方法3、掌握对象资源管理器与查询编辑器的使用【实训内容】1、在本地计算机上练习安装SQL Server2008 R2版本。
2、练习启动、暂停和关闭SQL Server2008的某一服务器。
实验二数据库创建和管理【实训目的】1、掌握数据库创建的方法2、掌握数据库扩容和收缩的方法3、掌握查看数据库信息方法4、掌握数据库的分离和附加的方法【实训内容】1、创建了一个library数据库,该数据库的主数据文件逻辑名称为Library_data,物理文件名为Library.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Library_log,物理文件名为Library.ldf,初始大小为3MB,最大尺寸为5MB,增长速度为1MB。
2、对library数据库进行扩容,添加一个5 MB的数据文件和一个5MB的事务日志文件。
3、对数据库library进行修改,将事务日志文件的大小增加到15MB,将数据文件library1和library2分别增加到15MB和30MB。
同时增加两个文件组,分别包含一个数据文件,逻辑文件名library3和library4,物理文件名为library2.ndf和library4.ndf,初始大小都为15MB,最大尺寸为无限制。
数据库操作实验报告
数据库操作实验报告数据库操作实验报告一、引言数据库是现代信息系统中重要的组成部分,它可以用来存储和管理大量的数据。
数据库操作是数据库应用开发中的基础,通过对数据库的增删改查操作,可以实现对数据的有效管理和利用。
本实验旨在通过实际操作,掌握数据库的基本操作方法和技巧。
二、实验目的1. 熟悉数据库的基本概念和术语;2. 掌握数据库的创建和表的设计方法;3. 熟练掌握数据库的增删改查操作;4. 实现对数据库的数据管理和查询功能。
三、实验环境本次实验使用的数据库管理系统为MySQL,操作系统为Windows。
MySQL是一个开源的关系型数据库管理系统,具有稳定性和高性能的特点。
四、实验步骤1. 数据库的创建在MySQL中,可以使用CREATE DATABASE语句来创建数据库。
首先打开MySQL命令行界面,输入以下命令:```CREATE DATABASE mydatabase;```其中,mydatabase为数据库的名称。
执行完毕后,即可创建一个名为mydatabase的数据库。
2. 表的设计在数据库中,表是用来存储数据的基本单位。
表由多个列组成,每个列包含一个特定的数据类型。
我们可以使用CREATE TABLE语句来创建表。
例如,我们创建一个名为students的表,包含学生的姓名、年龄和性别信息:```CREATE TABLE students (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender VARCHAR(10));```其中,id为主键,自动递增;name为字符串类型,最大长度为50;age为整数类型;gender为字符串类型,最大长度为10。
3. 数据的插入通过INSERT INTO语句可以向表中插入数据。
例如,我们向students表中插入一条记录:```INSERT INTO students (name, age, gender) VALUES ('Tom', 20, 'Male');```执行完毕后,即可向students表中插入一条记录,包含姓名为Tom,年龄为20,性别为Male的学生信息。
数据库系统实验报告广东工业大学
数据库系统实验报告⼴东⼯业⼤学数据库系统实验报告学院计算机学院专业计算机科学与技术班级级班学号姓名指导教师(2016 年12 ⽉)实验__⼀__题⽬数据库及基本表的建⽴实验__⼆__题⽬查询数据库_实验__三__题⽬创建和使⽤视图、索引、存储过程实验__四_题⽬⼩型数据库规划设计实验平台:SQL Sever 2005实验题⽬实验⼀数据库及基本表的建⽴⼀、实验⽬的1、掌握SQL SERVER 的查询分析器和企业管理器的使⽤;2、掌握创建数据库和表的操作;⼆、实验内容和要求1、分别使⽤SQL 语句、企业管理器(Enterprise Manager )创建数据库;2、使⽤SQL 语句、企业管理器(Enterprise Manager )创建数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC 机,Windows 2000/xp ; 2.数据库管理系统:SQL sever 2000/2003/2005;四、实验⽅法、步骤及结果测试创建⼀个教学管理数据库SC ,其描述的信息有:学⽣信息、课程信息、教师信息、学⽣选课成绩、授课信息、班级信息、系部信息、专业信息。
创建:student 表(学⽣信息表)、course 表(课程信息表)、teacher 表(教师信息表)、student _course 表(学⽣选课成绩表)、teacher_course 表(教师上课课表)等。
1、创建数据库:确定数据库名称;数据库⽤于学⽣管理,命名为SC确定数据库的位置;要求:数据⽂件和⽇志⽂件分别存储在E 盘⾃⼰的⽬录下。
确定数据库的⼤⼩;根据实际的数据量确定数据⽂件的初始⼤⼩为30MB ,⽇志⽂件的初始⼤⼩为3MB 。
确定数据库的增长;根据实际情况,确定数据⽂件按20%增长,⽇志⽂件按1MB 增长。
(1)、利⽤查询分析器(Query Analyzer ),使⽤SQL 语句指定参数创建数据库;利⽤查询分析器,使⽤SQL 语句⽅式创建⽅式将下⾯各表建⽴到教学管理数据库中。
数据库原理实验
数据库原理实验数据库原理实验报告1. 实验目的本实验旨在通过实践操作,加深对数据库原理的理解,掌握数据库的基本操作和常用操作,培养数据库设计和管理的能力。
2. 实验环境和工具- 操作系统:Windows 10- 数据库管理系统:MySQL- 编程语言:Python- 开发工具:PyCharm3. 实验内容3.1 数据库的创建和删除在MySQL中创建一个新的数据库,并在实验结束后删除该数据库,以保持实验环境的干净。
3.2 数据表的创建和删除在创建的数据库中,创建一个新的数据表,并设定表的字段(列)和类型,以及主键和外键约束。
在实验结束后,删除该数据表。
3.3 数据的插入和查询在创建的数据表中插入一些测试数据,并进行一些简单的查询操作,如根据条件查询,排序查询等。
3.4 数据的更新和删除修改已存在的数据,并删除不需要的数据,观察数据库的变化,并验证操作的正确性。
4. 实验过程及结果4.1 数据库的创建和删除在MySQL中执行如下SQL语句:CREATE DATABASE IF NOT EXISTS mydatabase;DROP DATABASE IF EXISTS mydatabase;结果:成功创建数据库mydatabase,并成功删除数据库mydatabase。
4.2 数据表的创建和删除在创建的数据库中执行如下SQL语句:USE mydatabase;CREATE TABLE IF NOT EXISTS mytable (id INT PRIMARY KEY,name VARCHAR(50),age INT,address VARCHAR(100));DROP TABLE IF EXISTS mytable;结果:成功创建数据表mytable,并成功删除数据表mytable。
4.3 数据的插入和查询在数据表中执行如下SQL语句:USE mydatabase;INSERT INTO mytable (id, name, age, address) VALUES (1, 'John', 20, '123 Main St');INSERT INTO mytable (id, name, age, address) VALUES (2, 'Amy', 25, '456 Park Ave');INSERT INTO mytable (id, name, age, address) VALUES (3, 'Mike', 30, '789 Broadway');SELECT * FROM mytable WHERE age > 20;结果:成功插入3条测试数据,并成功查询出年龄大于20的记录。
数据库实验报告全
数据库实验报告全实验⼀实验⽬的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三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
数据库实验报告实验
数据库实验报告实验在当今数字化的时代,数据库管理系统已经成为了各种组织和企业不可或缺的一部分。
无论是处理大量的客户数据,还是管理复杂的业务流程,数据库都扮演着至关重要的角色。
为了更深入地理解数据库的工作原理和操作方法,我们进行了一系列的数据库实验。
本次实验的目的是通过实际操作,熟悉数据库的创建、数据的插入、查询、更新和删除等基本操作,掌握数据库的设计原则和优化方法,提高对数据库的应用能力。
实验环境方面,我们使用了广泛应用的 MySQL 数据库管理系统,并在本地计算机上安装和配置了相关环境。
同时,为了方便数据的管理和操作,我们还使用了图形化的数据库管理工具 Navicat Premium。
实验内容主要包括以下几个部分:首先是数据库的创建。
我们根据给定的需求分析,设计了数据库的结构,包括确定表的名称、字段的名称和数据类型等。
在创建表的过程中,需要充分考虑数据的完整性和一致性约束,例如主键的设置、外键的引用等,以确保数据的准确性和可靠性。
接下来是数据的插入。
我们使用 SQL 语句向创建好的表中插入了大量的测试数据。
在插入数据的过程中,需要注意数据的格式和类型匹配,避免出现数据插入错误。
然后是数据的查询操作。
这是数据库应用中最常见的操作之一。
我们学习并实践了各种查询语句,如简单的单表查询、多表连接查询、条件查询、排序查询和分页查询等。
通过这些查询操作,能够从大量的数据中快速准确地获取所需的信息。
数据的更新和删除操作也是实验的重要内容。
在实际应用中,数据的更新和删除需要谨慎操作,以防止误操作导致数据的丢失或错误。
我们通过实践,掌握了如何正确地进行数据的更新和删除操作,并了解了其可能带来的影响。
在实验过程中,我们也遇到了一些问题和挑战。
例如,在设计数据库结构时,由于对业务需求的理解不够深入,导致表结构设计不合理,后期需要进行大量的修改。
在进行数据查询时,由于查询语句编写不当,导致查询效率低下,花费了较长的时间才得到结果。
数据库实验报告三
《数据库原理》实验报告实验五:触发器、存储过程和函数实验六:ODBC/JDBC数据库编程学号姓名班级日期2013302534 杨添文2015.10.31 实验五:触发器、存储过程和函数一、实验内容1.使用系统存储过程(sp_rename)将视图“V_SPJ”更名为“V_SPJ_三建”。
(5分)(1)在原有数据库SPJ中,建立如下语句:exec sp_rename'V_SPJ','V_SPJ三建'(2)结果为:2.针对SPJ数据库,创建并执行如下的存储过程:(共计35分)(1)创建一个带参数的存储过程—jsearch。
该存储过程的作用是:当任意输入一个工程代号时,将返回供应该工程零件的供应商的名称(SNAME)和零件的名称(PNAME)以及工程的名称(JNAME)。
执行jsearch存储过程,查询“J1”对应的信息。
(10分)(1)存储过程为:create procedure jsearch(@searchingfor_jno nchar(20))asbeginselect J.JNAME,S.SNAME,P.PNAMEfrom S,P,J,SPJwhereSPJ.JNO =@searchingfor_jno and SPJ.JNO=J.JNO and SPJ.SNO=S.SNO andSPJ.PNO=P.PNOEnduse[SPJ]go(2)执行存储过程如下:declare @solution intexec @solution = [dbo].[jsearch]@searchingfor_jno =N'J1'select'solution'= @solutiongo(3)结果:(2)使用S表,为其创建一个加密的存储过程—jmsearch。
该存储过程的作用是:当执行该存储过程时,将返回北京供应商的所有信息。
(10分)create procedure jmsearchwith encryptionasbeginselect*from Swhere CITY ='北京'end(3)使用系统存储过程sp_helptext查看jsearch, jmsearch的文本信息。
数据库原理及应用实验指导书答案
数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。
它允许用户创建,读取,更新和删除数据库中的数据。
常见的数据库管理系统有MySQL,Oracle,SQL Server等。
问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。
以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。
2. 运行安装程序,按照向导的指示进行安装。
3. 选择是否要安装MySQL 服务器和MySQL工具。
4. 设置密码以保护数据库的安全。
5. 完成安装程序并启动MySQL服务。
数据库是一个组织和存储数据的容器。
在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。
每行代表一个记录,每列代表一个字段。
问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。
常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。
问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。
ODBC驱动程序充当应用程序和数据库之间的翻译器。
问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。
在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。
在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。
具体步骤如下: 1. 加载ODBC接口库。
2. 初始化ODBC环境。
3. 建立数据库连接。
4. 执行SQL语句。
5. 关闭数据库连接。
6. 释放ODBC环境。
问题九ODBC接口库是一组API函数,用于连接和操作数据库。
数据库实验二
实验二数据定义一、实验目的1、掌握使用SQL语句创建和删除数据库;2、掌握使用SQL语句创建和删除数据表,创建各种完整性约束,修改表的结构;3、掌握索引的创建和删除方法。
二、实验过程(一)数据库的建立使用CREATE DA TABASE语句创建名为“gongcheng”的数据库。
create database gongcheng(二)数据表的操作1.建立数据表在创建的“gongcheng”数据库中使用SQL语句建立4个关系(可参考课本P74习题5),如下:供应商表S (Sno,Sname,Status,Ctiy)零件表P(Pno,Pname,Color,Weight)工程项目表J(Jno,Jname,City)供应情况表SPJ(Sno,Pno,Jno,QTY)要求:(1)创建每个关系的主键,有外键的创建外键。
(2)S表中的Sname属性列的取值唯一(3)P表中weight属性列的取值范围在1-50之间(4)J表中的Jname取值不能为空并且是唯一的(5)SPJ表中QTY属性列的数据类型必须为int建立供应商表Screate table S(Sno varchar(8)primary key,Sname varchar(20)unique,Status int,City varchar(20))建立零件表Pcreate table P(Pno varchar(8)primary key,Pname varchar(20),Color varchar(4),Weight int check(Weight>=1 and Weight<=50))建立工程项目表Jcreate table J(Jno varchar(8)primary key,Jname varchar(20)unique not null,City varchar(20))建立供应情况表SPJcreate table SPJ(Sno varchar(8),Pno varchar(8),Jno varchar(8),QTY int,primary key(Sno,Pno,Jno),foreign key(Sno)references S(Sno),foreign key(Pno)references P(Pno),foreign key(Jno)references J(Jno))2.修改表的结构用SQL语句完成以下操作:(1)给S表增加Sphone和Semail两个属性列,分别用来存放供应商的联系电话和电子信箱。
数据库概论实验报告
数据库概论实验报告《数据库概论实验报告》在当今信息时代,数据库已经成为了各行各业的重要组成部分。
作为信息存储和管理的重要工具,数据库的作用不可忽视。
为了更好地了解数据库的基本概念和原理,我们进行了数据库概论的实验,并撰写了以下实验报告。
实验一:数据库基本概念在本次实验中,我们首先学习了数据库的基本概念,包括数据、数据库、数据库管理系统(DBMS)等。
我们了解到数据库是按照数据结构来组织、存储和管理数据的仓库,而DBMS则是用来管理数据库的软件系统。
通过实际操作,我们学会了如何创建数据库、表格和插入数据,以及如何使用SQL语句进行数据查询和更新。
实验二:数据库设计与规范化在这一部分实验中,我们学习了数据库设计的基本原则和规范化的概念。
我们了解到数据库设计是一个重要的环节,它直接影响到数据库的性能和数据的完整性。
我们学会了如何进行实体-关系模型(ER模型)的设计,以及如何将设计的实体-关系模型转化为数据库表格。
同时,我们还学习了数据库的规范化,通过规范化可以消除数据冗余,提高数据库的性能和数据的一致性。
实验三:数据库安全与完整性在这一部分实验中,我们学习了数据库的安全性和完整性的重要性。
我们了解到数据库安全性是指保护数据库免受未经授权的访问和恶意攻击,而数据库完整性则是指保证数据库中的数据是准确、一致和完整的。
我们学会了如何设置用户权限、加密数据、备份和恢复数据,以及如何使用触发器和约束来保证数据库的完整性。
通过本次数据库概论实验,我们深入了解了数据库的基本概念、设计原则和安全性要求。
我们相信这些知识将对我们今后的学习和工作产生重要的帮助,也让我们更加深入地理解了信息技术领域中数据库的重要性和作用。
希望通过不断地实践和学习,我们能够更好地掌握数据库的知识和技能,为未来的发展打下坚实的基础。
数据库原理实验指导书
数据库原理实验指导书实验名称:试验一:SQL语言嵌套查询和数据更新操作所属课程:数据库原理实验类型:设计型实验实验类别:基础□专业基础√专业□实验学时:4学时一、实验目的1.熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式;2.加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算);3.熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用;4.加深理解表的定义对数据更新的作用二、预习与参考1.熟悉SQL SERVER 工作环境;2.连接到学生-课程数据库3.复习对表中数据查询的SQL语言命令;4.复习对表中数据的插入、修改和删除的SQL语言命令。
三、实验要求(设计要求)针对教材例子,通过SQL SERVER企业管理器和查询分析器两种模式,熟悉数据嵌套查询、更新操作。
四、实验方法及步骤1.在表S、C、SC上进行简单查询;2.在表S、C、SC上进行连接查询;3.在表S、C、SC上进行嵌套查询;4.使用聚合函数的查询;5.对数据的分组查询;6.对数据的排序查询。
7.将数据插入当前数据库的表S、C、SC中;A:用SQL命令形式B:用SQL SERVER提供的企业管理器以交互方式进行8.将以上插入的数据分别以.SQL文件和.txt文件的形式保存在磁盘上;9.修改表S、C、SC中的数据;A:用SQL命令形式B:用SQL SERVER提供的企业管理器以交互方式进行10.删除表S、C、SC中的数据。
A:用SQL命令形式B:用SQL SERVER提供的企业管理器以交互方式进行五、实验内容在表S,C,SC上完成以下操作:1.查询学生的基本信息;2.查询“CS”系学生的基本信息;3.查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;4.找出最大年龄;5.找出“CS”系年龄最大的学生,显示其学号、姓名;6.找出各系年龄最大的学生,显示其学号、姓名;7.统计“CS”系学生的人数;8.统计各系学生的人数,结果按升序排列;9.按系统计各系学生的平均年龄,结果按降序排列;10.查询每门课程的课程名;11.查询无先修课的课程的课程名和学时数;12.统计无先修课的课程的学时总数;13.统计每位学生选修课程的门数、学分及其平均成绩;14.统计选修每门课程的学生人数及各门课程的平均成绩;15.找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列;16.查询选修了“1”或“2”号课程的学生学号和姓名;17.查询选修了“1”和“2”号课程的学生学号和姓名;18.查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;19.查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);20.查询没有选修课程的学生的基本信息;21.查询选修了3门以上课程的学生学号;22.查询选修课程成绩至少有一门在80分以上的学生学号;23.查询选修课程成绩均在80分以上的学生学号;24.查询选修课程平均成绩在80分以上的学生学号;25.选做:针对SPJ数据库中的四个表S,P,J,SPJ,完成教材P74-75--习题5中的查询及教材P127--习题5中的查询。
数据库原理与应用(实验二)
《数据库原理与应用》实验报告(二)
----数据访问控制一、实验目的
熟练掌握表的创建和管理,会使用SQL语句来实现数据库中的表的相关操作。
二、实验内容
1、使用SQL命令CREATE创建基本表book0、reader0、borrow0。
2、使用ALTER命令修改基本表。
请将基本表book的bookname列宽改为40;
3、使用INSERT语句向基本表book0、reader0、borrow0添加记录。
4、使用SELECT命令进行数据查询。
三、实验总结
在实验中,遇到了以下问题,不过经过老师的讲解和自己的努力都取得了圆满解决。
1、实验室的电脑中已经创建了book,reader,borrow表,但我又不知道这些表的数据是否完整,所以我只能以book0,reader0,borrow0为表名创建新表并录入完整数据;
2、在录入数据的过程中,用到了大量相似的语句,在SQL*Plus中直接输入又容易出错,所以我先在Word文档中输入语句,检查没错误后,复制到SQL*Plus中执行;
3、查询语句的输入工作量大又极易出错,一个字母的少输或一个单词的输入错误都会出错,解决办法和2相同,先将语句输入Word文档,检查无误后,再复制到SQL*Plus 中执行,可极大的减少出错率。
数据库实验二实验报告
_数据库实验二课程实验报告实验名称:姓名班级学号实验台编号同组学生实验课表现出勤、表现得分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 旳所有元组。
数据库实验报告
实验一熟悉SQL SERVER的环境(验证型实验2学时)1.目的要求:了解SQL Server management studio的使用2.实验内容:回答下面每一个问题,写出实验步骤1)在“已注册服务器窗口”中注册sql server数据库服务器在视图中点击已注册的服务器,右键点击数据库引擎新建,选择服务器注册,输入服务器名称sql server2)在“对象资源管理器”中创建名字为sc的数据库右击数据库,选择新建数据库,输入数据库名称sc3)在sc数据库中创建一个名字为student的基本表点击sc的数据库,右点击表,新建表,输入相应的属性名称,选择相应的数据类型,保存时输入表名student4)在查询窗口中里创建名为S_C的数据库输入sql语句create database S_C,然后执行5)在查询窗口中使用sql语言创建名字为course的基本表输入sql语句,create table coure3.主要仪器设备及软件:(1)PC(2)Microsoft SQL Server 2005实验二建立表格,并插入若干记录(验证型实验2学时)1.目的要求:学会使用Create Table语句和Insert语句2.实验内容:1)使用sql语言建立student,course和sc共三张表格(包括主键,外码的指定),分析具体情况适当给出一些用户自定义的约束.create database studentcreate table student(Sno char(9) primary key,Sname char(20) unique,Ssex char(2),Sage smallint,Sdept char(20));create table course(Cno char(4) primary key,Cname char(40),Cpno char(4),Ccredit smallint,foreign key (Cpno )references course(Cno));create 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));2)使用Insert语句向这四张表格里添加至少10条记录(数据如教材56页所示),如果出现错误,分析错误原因insert into student(Sno, Sname,Ssex,Sage ,Sdept )values('95001','李勇','男',20,'CS');insert into student(Sno, Sname,Ssex,Sage ,Sdept )values('95002','刘晨','女',19,'IS');insert into student(Sno, Sname,Ssex,Sage ,Sdept )values('95003','王敏','女',18,'MA');insert into student(Sno, Sname,Ssex,Sage ,Sdept )values('95004','张立','男',19,'IS');……插入时遇到的问题:insert语句与表的外键约束发生冲突不能正确插入;输入SQL语言标点符号时必须关掉中文输入法。
数据库实验二.三 交
山东工商学院《数据库》实验指导及报告书 2013 / 2014 学年第 2 学期姓名:学班级:指导教师:信电学院2014实验二表的简单查询首先建好一个教师表(如下表)。
然后在此基础上依次进行各种简单查询。
teacher表1.基本查询(1)打开查询分析器,从teacher表中分别检索出教师的所有信息(2)查询teacher表中教工号、姓名和职称。
2.查询时改变列标题的显示从teacher表中分别检索出教师教工号、姓名、家庭住址信息并分别加上‘教师姓名’、‘教工号’、‘家庭住址’等标题信息⑴基于比较条件。
从teacher表中查询出教工号小于2130的教师资料。
⑵基于BETWEEN语句。
从teacher表中查询出教工号界于2100和2130之间的教师资料。
教工号、教师姓名、职称及家庭住址。
语句如下:⑷基于LIKE子句的查询。
从teacher表中分别检索出姓赵的教师的资料4.使用TOP关键字查询。
分别从teacher中检索出前2条及前面67%的教师的信息。
复。
按95%发放后列名该为‘预发工资’。
7.使用ORDER BY语句对查询的结果进行排序使用ORDER BY语句可以对查询的结果进行排序,ASC、DESC分别是升序和降序排列的关键字,系统默认的是升序排列。
从teacher表中查询工资大于4500的教师的教工号、姓名,并按升序排列。
实验三多表查询和子查询一、实验目的和要求1.了解查询的概念和方法;2.掌握查询分析器的使用方法;3.掌握SELECT语句在单表查询中的应用;4.掌握复杂查询的使用方法;5.掌握多表连接的方法;6.掌握SELECT语句在多表查询中的应用;7.掌握子查询语句。
二、实验内容和步骤(一)多表查询数据库的各个表中存放着不同的数据,用户经常需要用多个表中的数据来组合提炼出所需要的信息,如果一个查询需要对多个表进行操作,就称为联表查询,联表查询的结果集或结果表称为表之间的连接。
联表查询实际上是通过各各表之间共同列的关联来查询数据的,它是关系数据库查询最基本的特征。
Oracle数据库 实验报告
在SQL*PLUS或PL/SQL Developer工具中编写PL/SQL的简单程序,熟悉PL/SQL的编程环境和代码结构。实现与Oracle数据库交互,并捕获和处理常见系统异常和用户自定义异常。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实现下面功能:
使用游标实现:将某门课程高于平均分的学生的姓名,课程名,成绩格式化输出。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实验一 了解ORACLE环境,使用ORACLE数据库实用工具
( 验证性实验 4学时)
1.目的要求:
了解ORACLE数据库的各个常用工具软件
2.实验内容:
在ORACEL数据库下使用SQL*PLUS ,SQL*PLUS Worksheet,PL/SQL Developer工具,企业管理器等实用工具与Oracle交互。并在企业管理器中观察ORACLE的底层存储原理。在PL/SQL Developer中书写简单的SQL语言。
3.主要仪器设备及软件
1)PC
2)ORACLE数据库
-------------------------------------------------------------------------
实验六 触发器,序列及同义词
( 验证性实验 6学时)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库实验二.三--交
山东工商学院
《数据库》实验指导及报告书 2013 / 2014 学年第 2 学期
姓名:
学
班级:
指导教师:
信电学院
2014
实验二表的简单查询
首先建好一个教师表(如下表)。
然后在此基础上依次进行各种简单查询。
teach er表
教工号姓名家庭
住址
电话职
称
工资所在
教研
室
211 1 朱辉
生
连云
港市
58176
93
副
教
授
5800 计算
机软
件
211 2 单建
魁
连云
港市
58176
92
讲
师
4900 计算
机网
络
211 3 赵启
升
连云
港市
58176
93
工
程
师
4800 计算
机网
络
211 4 胡云连云
港市
58176
92
助
教
3500 计算
机软
件
211 5 葛庆
兵
连云
港市
58176
94
助
教
3500 计算
机体
系结
构
1.基本查询
(1)打开查询分析器,从teacher表中分别检索出教师的所有信息
(2)查询teacher表中教工号、姓名和职称。
2.查询时改变列标题的显示
从teacher表中分别检索出教师教工号、姓名、家庭住址信息并分别加上‘教师姓名’、‘教工号’、‘家庭住址’等标题信息
3.基于WHERE语句进行数据查询
⑴基于比较条件。
从teacher表中查询出教工号小于2130的教师资料。
⑵基于BETWEEN语句。
从teacher表中查询出教工号界于2100和2130之间的教师资料。
⑶基于IN子句的数据查询。
从teacher表中查询出职称为“教授”或“副教授”的教师的教工号、教师姓名、职称及家庭住址。
语句如下:
⑷基于LIKE子句的查询。
从teacher表中分别检索出姓赵的教师的资料
4.使用TOP关键字查询。
分别从teacher中检索出前2条及前面67%的教师的信息。
5.使用DISTINCT关键字查询。
从teacher表中检索出教师的职称并且要求显示的职称不重
复。
6.用计算列查询。
将teacher表中各教师的姓名、教工号及工资按95%发放的信息,将工资按95%发放后列名该为‘预发工资’。
7.使用ORDER BY语句对查询的结果进行排序
使用ORDER BY语句可以对查询的结果进行排序,ASC、DESC分别是升序和降序排列的关键字,系统默认的是升序排列。
从teacher表中查询工资大于4500的教师的教工号、姓名,并按升序排列。
实验三多表查询和子查询
一、实验目的和要求
1.了解查询的概念和方法;
2.掌握查询分析器的使用方法;
3.掌握SELECT语句在单表查询中的应用;4.掌握复杂查询的使用方法;
5.掌握多表连接的方法;
6.掌握SELECT语句在多表查询中的应用;7.掌握子查询语句。
二、实验内容和步骤
(一)多表查询
数据库的各个表中存放着不同的数据,用户经常需要用多个表中的数据来组合提炼出所需要的信息,如果一个查询需要对多个表进行操作,就称为联表查询,联表查询的结果集或结果表称为表之间的连接。
联表查询实际上是通过各各表之间共同列的关联来查询数据的,它是关系数据库查询最基本的特征。
按照下表所示,分别在数据库test中构造student、course和student_course三张表,并写
入记录。
Student表
列名称类型宽度允许
为空
缺省
值
主键
学号Char 8 否是
学生姓名Nvarc
har
8 否
性别char 2 否年龄Smalli
nt
否
班级
号
Char 6 否
入学时间Smalld
atetim
e
否
家庭住址Nvarc
har
40 是
Course表:
列名称类型宽度允许
为空
缺省值主键
课程
号
char 10 否是
课程名称Nvarc
har
20 否
课程总学时Tinyin
t
是
课程学分Tinyin
t
是
Student_course表
列名称类型宽度允许
为空
缺省值主键
课程
号
Char 10 否是
学号Char 8 否是
成绩Tinyin
t
否
1.进行多表查询
从student、course和student_course三张表中检索选修了课程的学生的学号、姓名、课程号、课程名及成绩。
2.用GROUP子句进行查询
如果要在数据检索时对表中数据按照一定条件进行分组汇总或求平均值,就要在SELECT语句中与GROUP BY子句一起使用集合函数。
使用GROUP BY子句进行数据检索可得到数据分类的汇总统计、平均值或其他统计信息。
(1)使用不带HAVING的GROUP BY子句。
汇总出student_course表中的学生的学号及总成绩
⑵使用带HAVING 的GROUP BY子句。
汇总出student_course表中总分大于450分的学生的学号及总成绩
(二)子查询
1.使用IN或NOT IN关键字
使用IN关键字查询出‘jk1’‘dx2’‘dx1’班所有男生的学号、课程号及相应的成绩
2. 使用EXISTS 或NOT EXISTS关键字。
使用EXISTS关键字查询出‘jk1’班选修‘数据结构’课程的学生的学号、姓名;使用NOT EXISTS查询出‘jk1’班没有选修‘数据结构’课程的学
生的学号、姓名。
(2)命令:
select 学号,学生姓名
from student
where 班级号='jk1'
and not exists
(
select *
from course,student_course
where student.学号=student_course.学号and course.课程号=student_course.课程号and 课程名称='数据结构'
)
结果:。