搜档网
当前位置:搜档网 › 数据库实验二

数据库实验二

数据库实验二
数据库实验二

中南大学

《数据库系统》实验报告

题目数据查询

学生姓名宋涛

学生学号 3902100312

专业班级软件1003班

完成日期2012年4月9日

实验名称:数据查询

一、实验目的:

熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式;

加深理解关系运算的各种操作(尤其是关系的选择,投影,连接和除

运算)

二、实验环境:

所需设备:

微机;

Windows xp操作系统;

安装了SQL SERVER。

三、实验内容:

在表S,C,SC上完成以下查询:

1.查询学生的基本信息;

2.查询“CS”系学生的基本信息;

3.查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;

4.找出“CS”系年龄最大的学生,显示其学号、姓名;

5.找出各系年龄最大的学生,显示其学号、姓名;

6.统计“CS”系学生的人数;

7.统计各系学生的人数,结果按升序排列;

8.按系统计各系学生的平均年龄,结果按降序排列;

9.查询无先修课的课程的课程名和学时数;

10.统计每位学生选修课程的门数、学分及其平均成绩;

11.统计选修每门课程的学生人数及各门课程的平均成绩;

12.找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列;

13.查询选修了“1”或“2”号课程的学生学号和姓名;

14.查询选修了“1”和“2”号课程的学生学号和姓名;

15.查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;

16.查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);

17.查询没有选修课程的学生的基本信息;

18.查询选修了3门以上课程的学生学号;

19.查询选修课程成绩至少有一门在80分以上的学生学号;

20.查询选修课程成绩均在80分以上的学生学号;

21.查询选修课程平均成绩在80分以上的学生学号;

四、实验结果:

1.查询学生的基本信息;

2.查询“CS”系学生的基本信息;

3.查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;

4.找出“CS”系年龄最大的学生,显示其学号、姓名;

5.找出各系年龄最大的学生,显示其学号、姓名;

6.统计“CS”系学生的人数;

7.统计各系学生的人数,结果按升序排列;

8.按系统计各系学生的平均年龄,结果按降序排列;

9.查询无选修课的课程的课程名和学时数;

10.统计每位学生选修课程的门数、学分及其平均成绩;

11.统计选修每门课程的学生人数及各门课程的平均成绩;

12.找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列;

13.查询选修了“1”或“2”号课程的学生学号和姓名;

14.查询选修了“1”和“2”号课程的学生学号和姓名;

15.查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;

16.查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);

17.查询没有选修课程的学生的基本信息;

18.查询选修了3门以上课程的学生学号;

19.查询选修课程成绩至少有一门在80分以上的学生学号;

20.查询选修课程成绩均在80分以上的学生学号;

21.查询选修课程平均成绩在80分以上的学生学号;

数据库实验2实验报告 2

数据库第二次试验报告 PB10011020 刘思轶实验内容 本实验有两个可选题目,旅游出行和药品免疫库。本程序即为旅游出行的一个实现。 实验原题摘要如下 数据关系模式: 航班FLIGHTS( String flightNum, int price, int numSeats, int numAvail, String FromCity, StringArivCity); 宾馆房间HOTELS( String location, int price, int numRooms, int numAvail);出租车CARS( String location, int price, int numCars, int numAvail);客户CUSTOMERS( String custName); 预订情况RESERVATIONS( String resvKey, String custName, int resvType) 系统基本功能: 1.航班,出租车,宾馆房间和客户基础数据的入库,更新(表中的属性也可以根据你的需要添加)。 2.预定航班,出租车,宾馆房间。 3.查询航班,出租车,宾馆房间,客户和预订信息。 4.查询某个客户的旅行线路。 5.检查预定线路的完整性。 6.其他任意你愿意加上的功能。 程序功能 本系统由旅行服务提供商运营,发布在支持PHP + MySQL 的服务器上。 系统默认有三个角色,游客、用户和管理员。它们的权限如下 1、游客 查询当前航班、旅馆和出租车的预订情况; 2、注册用户 游客的所用权限; 查询当前预订; 预订航班、旅馆和出租车; 退订航班、旅馆和出租车。 打印旅行路线 检查预定路线的完整性。 检查航班的完备性 3、管理员 注册用户的所用权限

数据库实验3答案

实验三:交互式SQL语句的使用 1、实验目的 (1)掌握数据库对象的操作过程,包括创建、修改、删除 (2)熟悉表的各种操作,包括插入、修改、删除、查询 (3)熟练掌握常用SQL语句的基本语法 2、实验平台 使用SQL Server提供的Microsoft SQL Server Management Studio工具,交互式使用SQL语句。 3 实验容及要求 选择如下一个应用背景之一: ●学生选课系统 ●习题3、4、和5中使用的数据库 ●其它你熟悉的应用 (1)建立一个数据库和相关的表、索引、视图等数据库对象,练习对表、索引和视图的各种操作。 (2)要求认真进行实验,记录各实验用例及执行结果。 (3)深入了解各个操作的功能。 实验要求包括如下方面的容: 3.1 数据定义 1.基本表的创建、修改及删除 2.索引的创建 3.视图的创建 3.2 数据操作 完成各类更新操作包括: 1.插入数据

2.修改数据 3. 删除数据 3.3 数据查询操作 完成各类查询操作 1.单表查询 2.分组统计 3. 连接查询 4. 嵌套查询 5. 集合查询 3.4 数据操作 1.创建视图 2.视图查询 参考示例: 建立一个学生选课数据库,练习对表、视图和索引等数据库对象的各种操作。 一、数据定义 创建学生选课数据库ST,包括三个基本表,其中Student表保存学生基本信息,Course表保存课程信息,SC表保存学生选课信息,其结构如下表: 表1. Student表结构 表2. Course表结构

表3. SC表结构 1.创建、修改及删除基本表 (1)创建Student表 CREATE TABLE Student (Sno CHAR(8)PRIMARY KEY, Sname CHAR(8), Ssex CHAR(2)NOT NULL, Sage INT, Sdept CHAR(20) ); (2)创建Course表 CREATE TABLE Course (Cno CHAR(4)PRIMARY KEY, Cname CHAR(40)NOT NULL, Cpno CHAR(4), Ccredit SMALLINT, ); (3)创建SC表 CREATE TABLE SC (Sno CHAR(8)FOREIGN KEY (Sno)REFERENCES Student(Sno), Cno CHAR(4), Grade SMALLINT, ); (4)创建员工表Employee

数据库实验二

西南石油大学实验报告 注意:在粘贴截图时请保留窗口完整标题,但只需保留关键界面,多余的空白界面请删除。 一、实验课时:4 二、实验目的 (1) 理解查询的概念和方法。 (2) 掌握SELECT语句在单表查询中的应用。 (3) 掌握SELECT语句在多表连接查询中的应用。 (4) 掌握SELECT语句在嵌套查询中的应用。 (5) 掌握SELECT语句在集合查询中的应用。 (6) 主要掌握使用“查询分析器”进行查询。 三、实验环境 (1) PC机。 (2) SQL Server 2008。 四、实验内容及步骤 以下查询均使用实验项目1中创建的COMPANY数据库。 1.单表查询 (1)基本查询。 Q0. 使用查询分析器从Employee表中检索出所有员工的姓名。 SQL文本:SELECT FNAME,LNAME FROM EMPLOYEE;

(以下所有题目都必须按照上图的要求截图) Q1.从Employee表中检索出员工的FNAME、LNAME、SSN、BDATE、SALARY等字段,并分别加上“名”、“姓”、“社会保险号”、“生日”、“工资”的标题。员工的排序规则为:首先按工资的降序排列,然后按FNAME 的字母升序排列。 SQL文本: SELECT Fname名,Lname姓,Ssn社会保险号, Bdate生日,Salary工资 FROM EMPLOYEE ORDER BY Salary DESC,Fname;

Q2.查询不重复的员工工资值。 SQL文本: SELECT DISTINCT Salary FROM EMPLOYEE; Q3.查询没有直接上司的员工姓名。SQL文本: SELECT Fname,Lname FROM EMPLOYEE WHERE Super_ssn IS NULL;

2-实验二MySQL数据库操作实验

实验二MySQL数据库操作实验 实验目的: 1、掌握MySQL数据库的安装方法 2、掌握MySQL数据库的使用 3、熟悉数据库管理工具的使用 实验要求: 1、利用MySQL命令创建数据库和相应的数据库表,并能向数据库表中插入数据记录和相应的数据库操作。 2、利用Navicat for MySQL建数据库和相应的数据库表,并能向数据库表中插入数据记录和相应的数据库操作。 3、保存和导入数据库 4、编程查询显示数据库表中的所有记录,可以选择以下添加的任意一个数据库表的记录。 实验内容: 1、安装MySQL数据库 安装MySQL可以参照文档“MySQL 5 安装.doc”,安装MySQL并进行配置,安装成功后,即可操作管理数据库。 方法一: 从开始菜单?MySQL?MySQL Server5.0?MySQL Command Line Client,打开控制台界面,提示输入密码,密码输入成功后,登录MySQL数据库,如下图2.1所示。

图2.1 登录MySQL 服务器 方法二:将MySQL的安装路径下的bin目录添加到环境变量path中,打开控制台命令,输入mysql –uroot –p,在提示符下输入密码,登录MySQL 服务器,如下图2.2所示。 图2.2 登录MySQL服务器 2、安装Navicat for MySQL Navicat for MySQL 是一款强大的MySQL数据库管理和开发工具,Navicat 使用很好的GUI,可以使用户采用一种安全和更容易的方式创建、组织、存取和共享信息。 安装Navicat_for_MySQL_10.1.7,安装向导启动界面如下图2.3所示。

数据库实验四作业及答案

实验4数据查询 一、实验目的 1.掌握使用Transact-SQL的SELECT语句进行基本查询的方法。 2.掌握使用SELECT语句进行条件查询的方法。 3.掌握嵌套查询的方法。 4.掌握多表查询的方法。 5.掌握SELECT语句的GROUP BY和ORDER BY子句的作业和使用方法。 6.掌握联合查询的操作方法。 7.掌握数据更新语句INSERT INTO、UPDATE、DELETE的使用方法。 二、实验准备 1.了解SELECT语句的基本语法格式和执行方法。 2.了解嵌套查询的表示方法。 3.了解UNION运算符的用法。 4.了解SELECT语句的GROUP BY和ORDER BY子句的作用。 5.了解IN、JOIN等子查询的格式。 6.了解INSERT INTO、UPDATE、DELETE的格式与作用。 三、实验内容及步骤 0. 创建studentsdb数据库及其相应表,并录入数据。 启动查询分析器,运行下面链接的代码即可。 创建数据库代码 1.在studentsdb数据库中,使用下列SQL语句将输出什么? (1)SELECT COUNT(*) FROM grade (2)SELECT SUBSTRING(姓名,1,2) FROM student_info (3)SELECT UPPER('kelly')

(4)SELECT Replicate('kelly',3) (5)SELECT SQRT(分数) FROM grade WHERE 分数>=85 (6)SELECT 2,3,POWER(2,3) (7)SELECT YEAR(GETDATE()),MONTH(GETDATE()),DAY(GETDATE()) 2.在studentsdb数据库中使用SELECT语句进行基本查询。 (1)在student_info表中,查询每个学生的学号、姓名、出生日期信息。 SELECT*FROM student_info (2)查询学号为0002的学生的姓名和家庭住址。 SELECT姓名,家庭住址FROM student_info WHERE学号=0002 (3)找出所有男同学的学号和姓名。 SELECT学号,姓名FROM student_info

福建工程学院《实验指导书(数据库系统原理及应用)》

数据库系统原理 实验指导书 (本科)

目录 实验一数据定义语言 (1) 实验二SQL Sever中的单表查询 (3) 实验三SQL Serve中的连接查询 (4) 实验四SQL Serve的数据更新、视图 (5) 实验五数据控制(完整性与安全性) (7) 实验六语法元素与流程控制 (9) 实验七存储过程与用户自定义函数 (11) 实验八触发器 (12)

实验一数据定义语言 一、实验目的 1.熟悉SQL Server2000/2005查询分析器。 2.掌握SQL语言的DDL语言,在SQL Server2000/2005环境下采用Transact-SQL实现表 的定义、删除与修改,掌握索引的建立与删除方法。 3.掌握SQL Server2000/2005实现完整性的六种约束。 二、实验内容 1.启动SQL Server2000/2005查询分析器,并连接服务器。 2.创建数据库: (请先在D盘下创建DB文件夹) 1)在SQL Server2000中建立一个StuDB数据库: 有一个数据文件:逻辑名为StuData,文件名为“d:\db\S tuDat.mdf”,文件初始大小为5MB,文件的最大大小不受限制,文件的增长率为2MB; 有一个日志文件,逻辑名为StuLog,文件名为“d:\db\StuLog.ldf”,文件初始大小为5MB,文件的最大大小为10MB,文件的增长率为10% 2)刷新管理器查看是否创建成功,右击StuDB查看它的属性。 3.设置StuDB为当前数据库。 4.在StuDB数据库中作如下操作: 设有如下关系表S:S(CLASS,SNO, NAME, SEX, AGE), 其中:CLASS为班号,char(5) ;SNO为座号,char(2);NAME为姓名,char(10),设姓名的取值唯一;SEX为性别,char(2) ;AGE为年龄,int,表中主码为班号+座号。 写出实现下列功能的SQL语句。 (1)创建表S; (2)刷新管理器查看表是否创建成功; (3)右击表S插入3个记录:95031班25号李明,男性,21岁; 95101班10号王丽,女性,20岁; 95031班座号为30,名为郑和的学生记录; (4)将年龄的数据类型改为smallint; (5)向S表添加“入学时间(comedate)”列,其数据类型为日期型(datetime); (6)对表S,按年龄降序建索引(索引名为inxage); (7)删除S表的inxage索引; (8)删除S表; 5.在StuDB数据库中, (1)按照《数据库系统概论》(第四版)P82页的学生-课程数据库创建STUDENT、COURSE 和SC三张表,每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。 并输入相关数据。 (2)将StuDB数据库分离,在D盘下创建DB文件夹下找到StuDB数据库的两个文件,进行备份,后面的实验要用到这个数据库。 6.(课外)按照《数据库系统概论》(第四版)P74页习题5的SPJ数据库。创建SPJ数据 库,并在其中创建S、P、J和SPJ四张表。每一张表都必须有主码约束,合理使用列级完整性约束和表级完整性。要作好备份以便后面的实验使用该数据库数据。 三、实验要求:

数据库实验 2

实验 2 :数据库的建立和维护实验 本实验需要 2 学时。 一、实验目的 要求学生熟练掌握使用SQL 、Transact-SQL 和SQL Server 企业管理器建立数据库、表、修改数据库、表和删除数据库和表的操作。 二、实验内容和步骤 1.创建数据库 1)在企业管理器中创建数据库student_学号:要求: ●数据库STUDENT_学号初始大小为10MB,最大大小为50MB,数据库自动增长,增长 方式是按5%比例增长; ●日志文件初始大小为2MB,最大可增长到5MB,按1MB增长; ●数据库的逻辑文件名和物理文件名均采用默认值; ●(分别为STUDENT_学号_data和e: \sql\data\MSSQL\STUDENT_学号.MDF) ●事务日志的逻辑文件名和物理文件名也采用默认值。 ●(分别为STUDENT_学号_LOG和e: \sql\data\MSSQL\STUDENT_学号_LOG.ldf) 2)②使用T-SQL语句创建数据库STUDENT_学号,要求同1; Create database STUDENT_01 On (name=STUDENT_01_data, filename='e:\STUDENT_01.MDF', size=10, maxsize=unlimited, filegrowth=10%) log on (name=student1_log, filename='e:\STUDENT_01.LDF', size=2, maxsize=5,

filegrowth=1) 2. 创建表 以上面创建的数据库为例,创建表。创建表实际上就是创建表结构,再向表中输入数据。既可以使用企业管理器创建表,也可以用Transact-SQL 命令创建表。 (1). 使用企业管理器创建表 利用企业管理器提供的图形界面来创建表,步骤如下: (1)在树形目录中展开【服务器组】→【服务器】→【数据库】→【STUDENT_学号】。 (2)选择【表】,单击鼠标右键,在弹出的快捷菜单中选择【新建表...】命令, 打开设计表对话框。 (3)如图5-10所示,设计表对话框的上半部分有一个表格,在这个表格中输入列的列名、数据类型、长度(有的数据类型不需要指定长度,如datetime 类型的长度为固定值8)、是否可以为空,在允许空域中单击鼠标左键,可以切换是否允许为空值的状态,打勾说明允许为空值,空白说明不允许为空值,默认状态是允许为空值的。 (4) 图5-10所示的设计表对话框的下半部分是特定列的详细属性,包括是否是标识列、是否使用默认值等。 (5)用图5-10所示的方法逐个定义好表中的列。 (6)设置主键约束:选中要作为主键的列,单击工具条上的【设置主键】按钮,主键列的前上方将显示钥匙标记,如图5-11所示。 (7)鼠标右键单击表中的任意一行(即任意一个列的定义),在弹出的快捷菜单中选择【属性】命令,可以打开如图5-12所示的表属性对话框,在该对话框中选择表选项卡,可以指定表的属性,比如表名、所有者、表的标识列等。图5-12中将表的名称设置为Readers , 所有者设置为dbo 。 (8)在属性对话框中选择【关系】选项卡,可以设置列上的外键约束。选择【索引/键】选项卡,可以设置列上的索引,以及主键约束和惟一性约束。选择【check 约束】选项卡,

数据库实验题目和答案

按照如下方式重新定义四张表: 定义新的books表,其所拥有的属性与属性类型与原有的books表一致 以列级完整性的方式定义属性bookId为主码,同时在定义的时候必须提供约束名 定义属性category为”非空” ,同时在定义的时候必须提供约束名 create table Books( bookId number(9,0) constraint BooksKey primary key, title varchar(80), author varchar(40), year integer, category varchar(15) constraint B1 not null ); commit; 定义新的customers表,其所拥有的属性与属性类型与原有的customers表一致 以表级完整性的方式定义属性cid为主码 以列级完整性的方式定义属性cname为”唯一”,同时在定义的时候必须提供约束名 create table Customers ( cid number(9,0), cname char(40) constraint C1 unique, age integer, primary key(cid) ); commit; 定义新的purchases表,其所拥有的属性与属性类型与原有的purchases表一致 定义属性cid与bookId为主码,同时在定义的时候必须提供约束名 以列级完整性的方式定义属性bookId为外码,它参照Books表的主码,同时在定义的时候必须提供约束名。当删除Books表中的某一本书时,级联删 除与它相关的购买记录 以表级完整性的方式定义属性cid为外码,它参照customers表,同时在定义的时候必须提供约束名。当删除customers表中的某个顾客时,如果存在 与该客户相关的购买记录,拒绝删除。 create table Purchases( cid number(9,0), bookId number(9,0)

数据库实验二

实验二数据库设计 【实验目的】 本实验通过学生一个应用实例设计数据库,达到: 1、理解规范化数据库设计包括步骤及其任务、方法、结果等。 2、掌握数据库设计过程中关键文档的撰写包括E-R模型、E-R模型向关系模型的转换。 3、了解数据库辅助设计工具。 【实验性质】 验证性实验(学时数:2H) 【实验导读】 1、概述 数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统(简称数据库应用系统),使之能够有效地存储数据,满足各种用户的应用需求(包括信息要求和处理要求)。 数据库设计的一个最基本的问题(输出)是如何建立一个好的数据库模式(逻辑结构与物理结构),如果可能的话包括基于数据库应用系统的设计原则。即给出一定的硬件与软件环境下(主要包括OS与DBMS),对于一定的信息需求和处理要求(输入),如何构造一个适合于它们的数据模式,使数据库系统无论是在数据存储方面,还是在数据操纵方面都有较好的性能。 按照规范化设计的方法,数据库设计分为以下六个阶段:需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行和维护。有些教材还包括规划阶段。为了叙述方便我们将后两个阶段合并。 2、需求分析 需求分析指各种需求的收集和分析、表达,结果得到数据字典(DD)描述的数据需求和数据流图(DFD)描述的处理需求。在结构化设计方法中,需求分析采用自顶向下、逐层分解的方法。 3、概念结构设计 通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,用E-R图表示。E-R模型方法讨论了实体与实体之间的数据联系,目标是要设计一个“好”的数据库模型。 设计E-R图步骤: 1)确定局部应用,一般选择合适的中间层次。在DFD中选择适当层次的DFD,作为设计局部E-R图的出发点。中层允许有一定的重叠。 2)设计局部E-R图。主要包括确定实体、确定联系包括联系名及其类型、标明属性、确定主关键字、标明其它。 3)局部E-R图 4)合并及优化全局E-R图。 4、逻辑结构设计 将概念结构转换为某个DBMS所支持的数据模型一般为关系模型,并对其进行优化。转换时必须遵从转换规则,每个规则强调转换时必须确定每个关系的关系名、构成的属性、码的确定。转换规则可以分为三类即实体型的转换、联系转换(联系可分为二元联系与多元联系两类,二元联系划分成1:1、1:n、n:m三种,一元联系同二元联系一样处理)、关系合并规则。 5、物理结构设计 为逻辑数据模型选取一个最适合应用环境的物理结构(存储结构和存取方法)。 6、实施与运行、维护 数据库实施指运用DBMS提供的数据语言SQL及其宿主语言(例如C),根据逻辑设计和物理

数据库(实验2)

南京信息工程大学数据库基础教程实验(实习)报告 实验(实习)名称数据库、表的创建实验(实习)日期2016.4 得分指导老师马瑞 系计算机与软件学院专业网络工程班级 2 姓名杨泽瑞学号20141346046 一、实验目的 1.了解在SSMS创建数据库的要求。 2.了解Server数据库的逻辑结构和物理结构。 3.掌握表的结构特点。 4.掌握SQL的基本数据类型。 5.掌握空值概念。 6.掌握SSMS界面和使用T-SQL语句创建数据库的方法。 二、实验内容 1.在SSMS中创建数据库的要求如下: (1)能创建数据库的用户必须是系统管理员,或被授权使用CREATE DATABASE 语句的用户。 (2)创建数据库必须确定数据库名、所有者(即创建数据库的用户)、数据库大小(最初大小、增长方式)和存储数据库的文件。 (3)确定数据库包含哪些表,以及所包含的各表的结构,还要了解SQLServer 的常用数据类型,以创建数据库的表。 2.定义数据库结构。创建学生成绩数据库,数据库名为XSCJ,包含下列3个表。(1)学生表:表名为Student,描述学生信息。 (2)课程表:表名为Course,描述课程信息。 (3)学生选课表:表名为StuCourse,描述学生选课及成绩信息。

3.在SSMS控制台上创建XSCJ数据库。 要求:数据库XSCJ初始大小为5 MB,日志文件初始大小为1 MB,增长方式均采用默认值。数据库的逻辑文件名和物理文件名均采用默认值,分别为XSCJ_data 和f:\prograni FilesVMicrosoft SQL Server\MSSQL.l\MSSQL\data\XSCJ.mdf ,其中 f:\Program Files\Microsoft SQL Server\MSSQL.l\MSSQL\data^ SQL Server 2012的系统安装目录;事务日志的的逻辑文件名和物理文件名也均采用默认值,分别为XSCJ_LOG和 ProgramFiles\MicrosoftSpLServer\MSSQL.l\MSSQL\data\XSCJ_Log.ldf。 注意:不同的安装系统安装目录有可能不相同。 启动SSMS,以系统管理员或被授权使用CREATE DATABASE语句的用户登录SQL Server 2014服务器。在对象资源管理器中“数据库,,图标上单击鼠标右键,在快捷菜单上选择“新建数 ,据库”,将出现如图A2.1所不的“新建数据库”窗口。在“数据库名称”文本框中输入数据库名 1SCJ”,并将逻辑文件的初始大小改为5 MB,单击“确定”按钮,即可创建XSCJ数据库。在对象资源管理器中展开“数据库”图标,将看到新增了“XSCJ”图标。 4.将新创建的XSCJ数据库删除。在资源管理器中选择数据库XSCJ在XSCJ上单击鼠标右键删除。 5.使用T-SQL语句创建XSCJ数据库。启动査询分析器,在查询分析器中输入以下语句:

数据库实验五题目答案

实验五 实验5.1 数据查询 1)要求 以School数据库为例,在该数据库中存在四表格,分别为: ●表STUDENTS(sid, sname, email, grade); ●表TEACHERS(tid, tname, email, salary); ●表COURSES(cid, cname, hour); ●表CHOICES(no, sid, tid, cid, score) 在数据库中,存在这样的关系:学生可以选择课程,一个课程对应一个教师。在表CHOICES中保存学生的选课记录。 按以下要求对数据库进行查询操作: (1)查询年级为2001的所有学生的名称并按编号升序排列。 程序:Select sname from students where grade='2001' order by sid asc; (2)查询学生的选课成绩合格的课程成绩。 程序:Select score from choices where score>'59';

(3)查询课时是48或60的课程的名称。 程序:select cname from courses where hour='48'or hour='60'; (4)查询所有课程名称中含有data的课程编号。 程序:select cid from courses where cname like'%data%';

(5)查询所有选课记录的课程号(不重复显示)。 程序:select distinct cid from choices; (6)统计所有教师的平均工资。 程序:select avg(salary) from teachers;

数据库实验二

实验四数据库约束实验 实验目的 (1) 理解数据库完整性约束的概念。 (2) 掌握SQL SERVER 的完整性约束技术。 (3) 了解SQL SERVER 的违反完整性约束处理措施。 实验内容 (1) 理解实体完整性、域完整性、引用完整性和用户定义完整性的意义。 (2) 定义和管理主键(PRIMARY KEY)约束、外键(FOREIGN KEY)约束、唯一性(UNIQUE)约束。 (3) 定义和管理检查(CHECK)约束、DEFAULT 约束、允许空值约束。习题 1.在数据库EDUC中,创建下列完整性约束。 (1) 为数据库表Course_info创建一CHECK约束:当插入或修改一个记录时,确保此记录的授课学时在10~80之间。 (2) 为教师信息表Teacher_info创建CHECK约束:男教师出生日期在1960年1月1日以后,女教师出生日期在1965年1月1日以后。 (3) 为教师上课信息表TC_info创建CHECK约束:学生成绩在0~100之间。 (4) 为教师上课信息表TC_info创建外键约束:“tcid”、“tno”、“classno”和“cno”。 实验步骤: (1)打开数据库表Course_info,找到lecture并右击,在出现的菜单里单击CHECK约束,出现图1所示的窗体界面。

图 1 单击窗口中常规下的表达式后的按钮,出现如图2所示的窗体界面,为确保此记录的授课学时在10~80之间,在此窗体中输入语句:lecture>=10 and lecture<=80,单击确定按钮即可完成此约束。 图2 (2)打开数据库表Teacher_info,找到birthday并右击,在出现的菜单里单击CHECK约束,出现图1 所示的窗体界面。同样单击常规下的表达式后的按钮,在CHECK约束表达式窗体中输入下列语句: birthday>’1960-1-1’ WHERE sex=’男’, birthday<’1965-1-1’WHERE sex=’女’ (3)打开教师上课信息表TC_info,找到score并右击,在出现的菜单里单击CHECK约束,出现图1 所示的窗体界面。单击窗口中常规下的表达式后的按钮,

数据库系统原理与设计(第二版)实验一至实验三

实验一 1-1.查询员工的姓名、职务和薪水 select employeeName,headShip,salary from employee 图1-1 2.查询名字中含有“有限”的客户姓名和所在地 select CustomerName,address from Customer where CustomerName like '%有限%'

3. 查询出姓“张”并且姓名的最后一个字为“梅”的员工。 select * from employee where employeeName like '张%梅' 图1-3 4. 查询住址中含有上海或南昌的女员工,并显示其姓名、所属部门、职称、住址,其中性别用“男”和“女”显示 SELECT employeeName,department,address, isnull (convert(char(10),birthday,120),'不详')出生日期, case sex when 'M'then '男' when 'F'then'女' end as 性别 from employee where (address like '%上海%'or address like '%南昌%')and sex='F'

5. 查询出职务为“职员”或职务为“科长”的女员工的信息 select * from employee where (headship='职员' or headship='科长') and sex='F' 图1-5 6. 选取编号不在“C20050001”和“C20050004”的客户编号、客户名称、客户地址。 Select * from Customer where CustomerNo not in ( 'C20050001' ,'C20050004')

实验2 创建数据库和表

实验2 创建数据库和表 一、实验目的 1.了解MySQL数据库中的存储引擎分类 2.了解表的结构特点 3.了解MySQL的基本数据类型 4.了解空值的概念 5.学会在MySQL界面工具中创建数据库和表 6.学会使用SQL语句创建数据库和表 二、实验准备 1.首先要明确,能够创建数据库的用户必须是数据管理员,或是被授权使用 CREATE DATABASE语句的用户。 2.其次,确定数据库包含哪些表,以及所包含的个表的数据结构,还要了解 MySQL的常用数据类型,以及创建数据库的表。 3.此外还要了解两种常用的创建数据、表的方法,即在界面管理工具中创建 和使用CREATE DA TABASE 语句创建。 三、实验内容及要求 (一)数据表描述 创建用于企业用于管理的员工管理数据库,数据库名为YGGL,包含员工的信息,部门信息,及员工的薪水信息。数据库YGGL包含下列三个表: Employees:员工信息表 Departments:部门信息表 Salary:员工薪水情况表 Departments表结构

Salary表结构 (二)实验内容 1.使用命令行方式创建数据库YGGL。 1)打开MySQL command line client,输入管理员密码登录,使用CREATE 语句创建YGGL数据库。 2)在YGGL数据库存在的情况下,使用CREATE DATEBASE语句新建数据 库YGGL,查看错误信息,再尝试加上IF NOT EXISTS关键词创建YGGL,看看有 什么变化。 3)使用命令方法创建数据库YGGL1,要求数据库字符集为utf8,校对规 则为utf8_general_ci。 2.使用SQL语句在YGGL数据库中创建表employees 1)执行创建表Employees的Sql语句。 3.使用SQL语句删除表和数据库 1)删除表Employees。 2)删除数据库YGGL。 3)复制表Employees,命名为Employees1。使用命令行将表Emloyees1 中的Emailaddress列删除,并将Sex列的默认值修改为男。

数据库实验四(含答案)

实验四使用SQL语句创建和删除数据库、表 一. 实验目的: 1、了解SQL Server 2005数据库的逻辑结构和物理结构。 2、掌握使用SQL 语句创建和删除数据库。 3、学会使用T-SQL语句创建表。 二. 实验准备 1.明确能够创建数据库的用户必须是系统管理员,或是被授权使用CREATE DATABASE语句的用户。 2.了解用SQL语句创建和删除数据库的基本语法。 3.是用查询分析器,完成用SQL语句创建和删除基本表。 三. 实验要求 1、熟练使用查询分析器进行数据库的创建和删除操作。 2、用查询分析器,完成用SQL语句创建和删除基本表。 3、完成实验报告。 四. 实验内容 一、数据库 1.以下是创建数据库userdb1的SQL语句, create database userdb1 on (name=userdb4_data,--数据文件的逻辑名称,注意不能与日志逻辑同名 filename='g:\xygl\userdb4.mdf' ,--物理名称,注意路径必须存在 size=5,--数据初始长度为5M maxsize=10,--最大长度为10M filegrowth=1)--数据文件每次增长1M log on ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 , filegrowth=1) 运行上诉语句建立数据库userdb1

句,并建立“学生信息”数据库.(.mdf的名字可以修改) 3.数据库的修改(alter database 数据库名add file),将一个大小为10MB 的数据文件mrkj添加到userdb1的数据库中,该数据文件的大小为10MB,最大的文件大小为100MB,增长速度为2MB,物理地址与原有的mdf,ldf文件放在一起。 alter database 数据库名 add file() 注括号内格式同下: ( name=userdb4_log, filename='g:\xygl\userdb4.ldf ' , size=2 , maxsize=5 ,

数据库实验二41245

仲恺农业工程学院实验报告纸 信息科学与技术学院网络工程专业 131 班组数据库原理及应用课学号 4123 姓名苏德实验日期教师评定 实验二数据查询与修改 一、实验目的 1、掌握使用简单查询、连接查询以及嵌套查询完成数据查询的方法 2、掌握应用SQL进行数据更新的方法; 3、掌握视图的创建与更新方法。 二、实验内容 第一部分:使用附加方式恢复数据库LibraryLib,完成如下各题: 1、《数据库原理及应用实验指导》P45 1.数据查询练习(1)-(6) (1)查询各个超期罚款用户及其罚款总数,结果按罚款总数降序排列。 (2)查询已经超期一个月以上的还未归还图书的用户借书证编号。 (3)查询已经超期一个月以上的还未归还图书的用户名称、联系方式以及超期图书名。 (4)查询在同一天借阅了不同图书的用户借书证号。 (5)查询借书从来没有被超期罚款的用户信息。 (6)检索有图书所购册数大于或等于图书价格超过“50”的图书任一所购册数的图书的价格。 分析:先找出图书价格超过“50”的图书的所购册书假设a 要查的是所购册数>= any a 的图书的价格 第一部分:实验数据修改 1.使用SQL语句向“用户信息表Users”中插入元组(用户标识:LiS;用户权限:1;密码:2;用户名称:李生;性别:男(0);部门:计算系;已借

图书:0)。 问:本题可以省略into子句中的属性名吗如果要省略,需要注意什么 2.向Publish(出版社信息) 表插入一条新的记录,在该记录中,出版社名为:国防工业出版社,地址为:北京市海淀大街籍海楼,出版社email为。 3.对每个出版社,求出所购图书总数和图书总价格,并把结果存入新建表“图书统计Temp_CNTBK”表中。 4.读者“ZouY”于今天通过管理员“LuoHH”借阅了一本“Visual FoxPro 及其应用系统开发”图书,使用T-SQL语句向Borrow表中插入该记录,并更改Book表中库存册书信息。 说明:本题有一定难度,请先思考如果插入这么一条记录,需要哪些信息,又如何获取到,关键是获取后将其存入一些变量中即可 5.使用SQL语句将所有读者借书应归还日期向后延长一天。 6.将“清华大学出版社”的图书所购册书和库存册书增加10本。 7.删除所有实际归还日期为“2009-04-17”以前且所借图书的名称中含有“数据库”字样的超期罚款记录。 8.删除“出版社信息表Publish”中出版社名称为“机械工业出版社”的元组,讨论该删除操作所受到的约束。 第二部分:实验视图 1.使用企业管理器创建一个行列子集视图View_Book,给出清华大学出版社的图书的的图书名称、书号、价格、书的页数和购买册书。 2.创建分组视图,将出版社标识及每个出版社的图书的最高价格和最低价格定义为一个视图。 3.创建一个基于题目1所建立视图的视图,定义一个视图,包括清华大学出版社的图书名称,以及购买该图书的总价格。 4.创建一个基于多个基表的视图,该视图由用户帐户、姓名、他在借书的名称组成。

大数据库系统应用与开发--实验二

实验二JDBC基础(1) 一、相关知识点 1、JDBC基本概念 2、java连接数据库的方式 3、JDBC简单查询 二、实验目的: 理解Java连接数据库的基本概念。理解JDBC的四种驱动程序,掌握纯java驱动和jdbc-odbc驱动。理解Statement对象和ResultSet对象。 三、实验内容: 1、将booklib应用的JDBC驱动程序改成JDBC-ODBC驱动方式。 第一步:设置ODBC数据源;

第二步:修改DBUtil类中的相关代码;

第三步:运行程序 【实验结果与分析】 A、说明需要修改DBUtil类的哪些地方,及修改原因? private static final String jdbcUrl="jdbc:odbc:cjeSQL"; 因为booklib应用的驱动方式是jdbc-odbc驱动 2、利用Statement对象和Result对象实现按出版社名称精确查询出版社功能(精确查 询是指查询的目标和查询条件中值完全相同的数据)。 第一步:在https://www.sodocs.net/doc/983451587.html,.zucc.booklib.control. PublisherManager类中添加按出版社名称精确查询方法public BeanPublisher loadPubByName(String name)throws BaseException 第二步:编写上述方法,要求当相应名字的出版社不存在时,返回null值;相关代码请参考提取所有出版社函数。 第三步:启动booklib主程序,在出版社管理中录入几个出版社 第四步:清空https://www.sodocs.net/doc/983451587.html,.zucc.booklib.control. PublisherManager类中的main函数现有内

数据库实验2

Oracle的文件操作 实验教学目的与要求: 熟悉sqlplus中的常用命令;掌握Oracle的启动和关闭;掌握Oracle文件及管理。 实验具体内容: 请同学们将每道题的结果截图,粘贴到文档相应题目下 (一)数据文件 1、为USERS表空间,增加一个数据文件users02.dbf,大小为10M 2、将users02.dbf数据文件移动到D:\oracle\product\10.2.0\oradata目录下并重命名为 users002.dbf 3、删除users002.dbf文件 提示:使用alter tablespace … drop datafile语句 (二)控制文件 4、实现多路镜像控制文件(参考书63页d) 编辑初始化参数 关闭数据库 拷贝一个原有的控制文件到新的位置,并重新命名。 重新启动数据库

5、查看当前数据库中所有控制文件信息 提示:查看视图v$controlfile select name from v$controlfile; 6、将控制文件备份为二进制文件 提示:使用语句alter database backup controlfile to 目标路径和文件 (三)重做日志文件 7、查看重做日志成员文件所在的重做日志文件组状态 提示:查看v$log视图

8、查看重做日志组及其成员的信息 提示:查看v$logfile视图 9、为数据库添加重做日志文件组组号为4,文件组下有包含redo04a.log与redo04b.log两个文件,大小为4M。 提示:使用alter database add logfile group 日志文件组组号… 两个文件路径和文件名。参考书67页 10、添加重做日志文件组号为4的组成员redo04c.log 提示:使用语句alter database add logfile member….to group 4 11、改变重做日志文件组成员的名称或位置 将redo04a.log更名为redo004a.log,同时将redo04c.log移到d:\oracle\product\10.2.0\oradata 目录下 注意:只能更改处于inactive或unused状态的重做日志文件组的成员文件名称或位置 12、删除重做日志文件组成员 注意:只能更改处于inactive或unused状态的重做日志文件组的成员文件 使用语句alter database drop logfile member…. 然后在删除操作系统中对应的重做日志文件。

数据库实验答案

实验3 使用T-SQL语言完成单表查询 一、实验目的 掌握使用T-SQL语言完成单表查询 掌握常用谓词的用法 掌握where子句的用法 掌握order by 子句的用法 掌握group by 子句和having短语的用法 实验环境 Microsoft SQL Server 2000。 实验内容和要求 查询全体学生的详细信息。 查询所有课程的详细信息。 查询所有选课记录的详细信息,要结果表中的列名以中文的形式显示,分别为:学号,课程号,成绩。 查询已被学生选修了的课程的编号。 查询系别编号为“d002”的学生的姓名和性别。 查询年龄在19至21岁或者性别为“女”的学生的学号和所在系别编号。 查询系别编号为d001、d002和d003的学生的学号和姓名。 查询课程名为“C_”开头的课程名和学分。 某些学生入学后还没有确定所在的系,查询还没有确定系的学生的姓名。 查询成绩大于60分的学生的学号、课程号和成绩,并将查询结果按课程编号升序排列,同一课程的成绩按分数降序排列。 查询学校所开设的总的课程数。 计算2号课的学生成绩总和以及平均成绩,对应的列名分别为“总成绩”和“平均成绩”。 查询选修了3号课程的学生的最高分和最低分,对应的列名分别为“最高分”和“最低分”。 求各个系别的编号以及各系的人数。 查询选课人数大于等于2人的课程编号以及选课的人数。 查询学生2选修课程的总成绩对应的列名为“总成绩”,并显示出学号。 查询有2门以上课程是80分以上的学生的学号及课程数。 查询选修了1号课的学生的学号和成绩,结果按成绩降序、学号升序排列。 实验1 使用T-SQL语言建库、建表 实验2 向表中增、删、改数据 实验目的 掌握使用T-SQL建库、建表、修改表; 掌握使用T-SQL对表中数据进行插入、删除和修改。 实验环境 Microsoft SQL Server 2000。 实验内容和要求 建立数据库STDB 在数据库STDB中建立四个表:

相关主题