SQL数据库实验二报告——数据库关系模式

合集下载

数据库系统中的关系模型与SQL语言

数据库系统中的关系模型与SQL语言

数据库系统中的关系模型与SQL语言数据库是计算机系统中用于存储和管理数据的软件工具。

在数据库系统中,关系模型和SQL语言是两个重要的概念。

关系模型是描述数据之间关系的数学模型,SQL语言是操作和查询关系数据库的标准语言。

本文将介绍数据库系统中的关系模型和SQL语言的基本知识。

一、关系模型关系模型是由英国计算机科学家埃德加·科德提出的,用于描述数据之间关系的数学模型。

关系模型采用表格的形式组织数据,并通过关系(即表格)之间的连接表示数据之间的联系。

关系模型的核心概念有三个:元组、属性和关系。

1. 元组元组是关系模型中的基本单位,类似于表格中的一行数据。

每个元组由多个属性(即表格中的列)组成,每个属性存储着不同的数据信息。

元组可以唯一地通过一个属性或多个属性的组合进行识别。

2. 属性属性是关系模型中的列,表示元组中存储的数据的特征。

每个属性具有一个属性名称和一个数据类型。

属性名称用于唯一标识一个属性,数据类型定义了属性可以接受的数据范围,如整数、字符串等。

3. 关系关系是由一组具有相同属性的元组组成的集合,类似于表格。

关系具有唯一的关系名称,用于在数据库中标识和区分不同的关系。

关系模型通过关系之间的连接来表示数据之间的联系,这种连接称为关联。

二、SQL语言SQL(Structured Query Language)是用于操作和查询关系数据库的标准语言。

SQL语言具有丰富的语法和功能,用于创建、更新和查询数据库中的数据。

SQL语言可以分为四个主要的子语言:数据定义语言(DDL)、数据操纵语言(DML)、数据查询语言(DQL)和数据控制语言(DCL)。

1. 数据定义语言(DDL)DDL用于定义数据库的结构和模式,包括创建、修改和删除数据库、表格、视图、索引等。

常用的DDL命令有CREATE、ALTER和DROP等。

2. 数据操纵语言(DML)DML用于操作数据库中的数据,包括插入、修改和删除数据。

sql数据库实验报告

sql数据库实验报告

sql数据库实验报告目录1. 实验概述 (2)1.1 实验目的 (2)1.2 实验背景 (3)1.3 实验内容 (4)1.4 实验环境 (5)2. 数据库设计 (5)2.1 数据库概念 (6)2.2 表结构设计 (8)2.2.1 表1名称及字段定义 (9)2.2.2 表2名称及字段定义 (10)2.3 关系约束 (11)3. SQL语句操作 (12)3.1 数据插入 (13)3.2 数据查询 (14)3.2.1 根据条件查询 (15)3.2.2 聚合函数查询 (16)3.2.3 连接查询 (17)3.3 数据更新 (18)3.4 数据删除 (20)4. 实验结果展示 (21)4.1 SQL语句执行结果 (22)4.2 数据分析及解释 (22)4.2.1 查询结果的意义 (24)4.2.2 数据之间的关系性分析 (24)5. 实验总结与展望 (25)5.1 实验总结 (26)5.2 总结得到的经验与教训 (27)5.3 进一步研究建议 (29)1. 实验概述本实验旨在通过实践操作,实验内容涵盖了常见数据库操作,包括表创建、数据插入、查询、修改和删除。

通过完成实验,我们将学习如何使用SQL语句来管理和处理数据库数据,掌握常用的 SELECT、INSERT、UPDATE、DELETE 语句以及 JOIN 操作等,并熟悉数据库的操作流程和概念。

本实验旨在提升 SQL 数据库操作技能,并为后续更深入的数据库学习和应用打下基础。

您可以根据实际实验内容对以上段落进行修改和完善,具体修改点包括:明确实验的主题和目标,例如:实验主题可能是某个特定数据库管理系统(如MySQL、PostgreSQL等)的应用,目标可能是学习该数据库特定的功能特性。

1.1 实验目的本次实验旨在通过实际操作,验证和巩固SQL语言在关系型数据库管理中的应用能力,并加深对数据库设计、数据操作以及数据查询与分析的理解。

具体实验目的包括:学习SQL基础:掌握SQL语言的基本语法和常用命令,包括数据类型定义、表格创建、插入、更新和删除操作。

数据库 实验报告2 SQL3

数据库 实验报告2 SQL3

《数据库系统概论》实验报告题目:实验二(3)交互式SQL 语言姓名 Vivian 日期 2005-1-1实验内容及完成情况:(写出每一种类型的SQL测试用例)本实验中的表名、属性名全部用中文。

(一)数据定义一、基本表操作1.建立基本表1)创建仓库表,由以下属性组成:仓库号(CHAR型),城市(CHAR型),面积(INT型)。

其中仓库号为主码,并且有面积>0的限定条件。

CREATE TABLE 仓库(仓库号 CHAR(5) PRIMARY KEY,城市 CHAR(10),面积 INT CHECK(面积>0));2)创建职工表,由以下属性组成:仓库号(CHAR型),职工号(CHAR型),工资(INT 型)。

其中职工号为主码,仓库号为外码,工资的限定条件为1000<=工资<=5000,并且设定缺省值为1200。

CREATE TABLE 职工(仓库号 CHAR(5) REFERENCES 仓库(仓库号),职工号 CHAR(5) PRIMARY KEY,工资 INT CHECK (工资>=1000 AND 工资<=5000) DEFAULT 1200);或者:CREATE TABLE 职工(仓库号 CHAR(5) ,职工号 CHAR(5) PRIMARY KEY,工资 INT CHECK (工资>=1000 AND 工资<=5000) DEFAULT 1200,FOREIGN KEY (仓库号) REFERENCES 仓库(仓库号));3)创建供应商表,由以下属性组成:供应商号(CHAR型),供应商名(CHAR型),地址(CHAR型)。

其中供应商号为主码。

CREATE TABLE 供应商(供应商号 CHAR(5) PRIMARY KEY,供应商名 CHAR(20),地址 CHAR(20));4)创建订购单表,由以下属性组成:职工号(CHAR型),供应商号(CHAR型),订购单号(CHAR型),订购日期(CHAR型)。

SQL实验二:数据库查询实验报告

SQL实验二:数据库查询实验报告

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)检索⾄少选修课程“数学”和“操作系统”的学⽣学号。

数据库SQL---关系模型与关系代数

数据库SQL---关系模型与关系代数

数据库SQL---关系模型与关系代数1、关系数据库:表的集合,即关系的集合。

关系数据库=关系数据库模式(型)+关系数据库内容(值)1)域:一组具有相同数据类型的值的集合。

2)笛卡尔积:对集合进行穷举外变一次内变一边,是一张二维表,表中的一行对应于一个元组,表中的一列的值来自于同一个域。

给定一组域D1,D2,...,Dn的笛卡尔积为D1×D2×...×Dn={(d1,d2,...,dn)|di€Di,i=1,2,...,n},其中集合中的每一个元素(d1,d2,...,dn)称为一个n元组,简称元组,元组中的每一个值di 称为一个分量。

3)关系:笛卡尔积的子集,是一张二维表。

2、关系模式:简记为r(U)或r(D1,D2,...,Dn),其中r是关系的名字,U是属性名(D1,D2,...,Dn)的集合,n是关系的目(或度),当n=1时,称该关系为单元关系;当n=2时,称该关系为二元关系。

3、码1)超码:属性集A可以唯一地标识关系r中的一个元组,则称属性A为关系r的超码。

2)全码:所有属性加在一起组成的候选码。

3)候选码:属性集A是关系r的超码,且属性集A的任意真子集都不能称为关系r的超码,则称属性集A为候选码。

候选码是最小的超码,即最小属性组。

候选码的诸属性称为主属性,不能为空。

不包含在任何候选码中的属性称为非码属性。

4)主码:若一个关系有多个候选码,则可选定其中一个候选码作为该关系的主码。

5)外码:F是关系r的一个属性,Ks是关系s的主码,若F与Ks 相对应,则称F是关系r参照关系s的外码,简称F是关系r的外码,并称关系r为参照关系,关系s为被参照关系或目标关系。

4、关系完整性约束关系模式中3类数据完整性约束:实体完整性、参照完整性、用户自定义完整性,其中前两种称为关系的两个不变性。

1)实体完整性:若属性集A是关系r的主码,则A不能取空值null,即主属性不能为空。

2)参照完整性:主键与外键的关系,外码的取值要么为空,要么为与之对应的主码的值。

数据库实验报告

数据库实验报告

实验(一): 熟练掌握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岁),如果约束不能建立,请分析原因,修改后建立上述约束。

数据库实训课程学习总结实践SQL查询与数据库管理

数据库实训课程学习总结实践SQL查询与数据库管理

数据库实训课程学习总结实践SQL查询与数据库管理在数据库实训课程的学习过程中,我深入了解了SQL查询与数据库管理的基本原理和操作技巧。

通过实践操作,我逐渐掌握了SQL语言的基本语法和常用命令,熟悉了数据库的创建、备份与恢复、索引优化等管理技术。

本文将对我在数据库实训课程中的学习经历与心得进行总结,提供给同学们参考与交流。

1. 实践SQL查询在数据库实训课程中,我首先学习了SQL语言的基本语法和常用命令,了解了如何使用SELECT、INSERT、UPDATE和DELETE等命令进行数据的查询、插入、更新和删除。

在实践过程中,我发现了一些查询优化的技巧。

首先,合理选择WHERE子句中的条件和逻辑运算符。

我通过分析查询需求,尽量减少WHERE子句中的条件数量,避免不必要的逻辑运算符。

此外,我还学会了使用索引来加速查询操作,提高查询性能。

其次,合理使用JOIN操作连接多个数据表。

在实践过程中,我遇到了需要连接两个或多个数据表的情况。

通过学习JOIN操作,我可以根据不同的连接关系选择适合的JOIN类型,并且编写出高效的JOIN查询语句。

最后,学会使用子查询进行复杂查询。

子查询是SQL语言的一个重要特性,通过嵌套查询语句,我可以从多个数据表中获取需要的数据,并且可以进行更复杂的条件筛选和排序。

通过实践操作,我逐渐掌握了子查询的使用技巧,提升了查询的灵活性。

2. 数据库管理操作除了SQL查询,数据库实训课程还涉及到了数据库的管理操作。

在实践过程中,我学习了如何创建数据库、备份和恢复数据库、以及优化数据库的性能。

首先,我学会了使用CREATE DATABASE语句创建数据库。

通过指定数据库的名称、字符集和校对规则等参数,我可以在数据库管理系统中创建一个新的数据库。

其次,我了解了数据库备份和恢复的操作。

通过学习备份和恢复的基本原理和方法,我可以对数据库进行定期备份,以防止数据丢失。

同时,当数据库发生故障时,我也可以通过恢复操作将数据库恢复到正常状态。

SQL数据库实验报告实验二

SQL数据库实验报告实验二

SQL数据库实验报告实验二第一篇:SQL数据库实验报告实验二实验2SQL Server数据库的管理1.实验目的(1)了解SQL Server 数据库的逻辑结构和物理结构的特点。

(2)掌握使用SQL Server管理平台对数据库进行管理的方法。

(3)掌握使用Transact-SQL语句对数据库进行管理的方法。

2.实验内容及步骤(1)在SQL Server管理平台中创建数据库。

① 运行SQL Server管理平台,在管理平台的对象资源管理器中展开服务器。

② 右击“数据库”项,在快捷菜单中选择“新建数据库”菜单项。

在新建数据库对话框的数据库名称文本框中输入学生管理数据库名studentsdb,单击“确定”按钮。

(2)选择studentsdb数据库,在其快捷菜单中选择“属性”菜单项,查看“常规”、“文件”、“文件组”、“选项”、“权限”和“扩展属性”等页面。

(3)打开studentsdb数据库的“属性”对话框,在“文件”选项卡中的数据库文件列表中修改studentsdb数据文件的“分配的空间”大小为2MB。

指定“最大文件大小”为5MB。

修改studentsdb数据库的日志文件的大小在每次填满时自动递增5%。

(4)单击“新建查询”打开查询设计器窗口,在查询设计器窗口中使用Transact-SQL语句CREATE DATABASE创建studb数据库。

然后通过系统存储过程sp_helpdb查看系统中的数据库信息。

(5)在查询设计器中使用Transact-SQL语句ALTER DATABASE 修改studb数据库的设置,指定数据文件大小为5MB,最大文件大小为20MB,自动递增大小为1MB。

(6)在查询设计器中为studb数据库增加一个日志文件,命名为studb_Log2,大小为5MB,最大文件大小为10MB。

(7)使用SQL Server管理平台将studb数据库的名称更改为student_db。

(8)使用Transact-SQL语句DROP DATABASE删除student_db数据库。

数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用SQL语句操作数据

数据库实验报告-使用SQL语句操作数据数据库原理实验报告实验名称:实验二使用SQL语句操作数据实验时间:2013.4.16学生姓名:班级:软件学号:一、实验目的1、熟悉SQL Server 2005的基本环境2、使用对象资源管理器管理数据库、基本表、视图、索引等对象3、锻炼学生对SQL Server 2005基本操作能力二、实验内容1、使用对象资源管理器创建SPJ数据库(1)更改主数据库文件的增长模式,改为按5MB自动增长;(2)更改事务日志文件的增长模式,改为按1MB自动增长。

2、在数据库中创建S, P, J, SPJ四个关系模式:S ( SNO, SNAME, STATUS, CITY )P(PNO, PNAME, COLOR, WEIGHT)J(JNO, JNAME, CITY)SPJ(SNO, PNO, JNO, QTY)【说明:供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成;零件表P由零件代码(SNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成。

】3、建立数据库关系图。

将建好的数据库和表转化为SQL语句,以sql脚本方式保存。

4、使用对象资源管理器向表中插入下列数据。

SP表5、使用SQL语言完成如下操作:1)求供应工程J1零件的供应商号码SNO。

2)求供应工程J1零件P1的供应商号码SNO。

3)求供应工程J1零件为红色的供应商号码SNO。

4)求没有使用天津供应商生产的红色零件的工程号JNO。

5)求至少用了供应商S1所供应的全部零件的工程号JNO。

6)找出所有供应商的姓名和所在城市。

7)找出所有零件的名称、颜色、重量。

SQL数据库实验报告2

SQL数据库实验报告2

南京理工大学紫金学院实验报告书课程名称:《数据库系统》实验题目:实验2用SQL语句创建数据库和表班级: 0906012 学号: 090601257姓名:朱书宏指导教师:叶庆生一、实验目的1.更熟悉SQL语句对数据库的查询命令2. 对数据库的实际运用有一定的认识3.熟悉SQL的操作界面二、实验内容1.根据下列数据库模式Product(marker, model, type)PC(model, speed, ram, hd, rd, price)Laptop(model, speed, ram ,hd, screen, price)Printer(model, color, type, price)用SQL语句写出后面的查询,并使用习题1提供的资料写出查询结果。

* a) 找出所有价格在$1200以下的PC机的型号、速度和硬盘大小。

* b) 要求同(a),但是重命名列speed为megahertz以及列hd为gigabytes。

c) 找出所有打印机制造厂商。

d) 找出价格在$2000以上的手提电脑的型号、内存大小和屏幕尺寸。

* e) 找出关系Printer中所有彩色打印机元组,注意属性color是一个布尔类型。

f) 找出价格少于$2000并拥有12X或16X DVD的PC机的型号、速度和硬盘尺寸。

把rd属性看作一个字符串属性。

* g) 查询硬盘容量至少在30G的手提电脑制造商及电脑的速度。

* h) 查询制造商B制造的任意类型的所有产品的型号和价格。

i) 查询只卖手提电脑不卖PC的厂商。

! j) 查询出现在两种或两种以上PC中的硬盘的尺寸。

! k) 查询每对具有相同速度和RAM的PC机,每一对只出现一次。

例如,如果(i,j)符合,则(j,i)就不能出现在结果中出现。

!!l) 查询生产至少两种速度大于等于1000的计算机(PC或手提)的厂商。

2.根据下列数据库模式Classes ( class , type , country , numCuns , bore , displacement )Ships( name , class , launched )Battles( name , date )Outcomes ( ship , battle , result )用SQL语句写出后面的查询,并使用习题2给出的数据库模式和资料写出查询结果。

数据库实验报告实验二 交互式SQL

数据库实验报告实验二 交互式SQL

《数据库系统概论》课程之实验二
交互式SQL
1实验目的
1.熟悉数据库的交互式SQL工具。

2.熟悉通过SQL对数据库进行操作。

3.完成作业的上机练习。

2实验工具KingbaseES
利用KingbaseES及其交互式查询工具ISQLW来熟悉SQL。

3实验内容和要求
1. 在KingbaseES中建立一个数据库,进行实验所要求的各种操作,所有的SQL操作均在
此建立的新库里进行。

2. 根据以下要求认真填写实验报告,记录所有的实验用例。

3.1 数据定义
1.熟悉基本表的创建、修改及删除。

2.熟悉索引的创建和删除。

3.熟悉视图的创建和删除。

3.2 数据操作
1.完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询)。

2.完成各类更新操作(插入数据,修改数据,删除数据)。

3.3 视图的操作
视图的定义(创建和删除),查询,更新(注意更新的条件)。

4实验报告
结果:结果:结果:结果:
结果:结果:。

SQL数据库实验报告

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语句的使用。

SQL数据库系统实验报告(含代码、截图)

SQL数据库系统实验报告(含代码、截图)

数据库系统实验报告专业班级学生姓名及学号课程教学班号任课教师实验指导教师实验地点2012 ~2013 学年第二学期实验一使用向导创建和删除数据库一.实验目的1.熟悉SQL Server 中SQL Server Management Studio的环境2.了解SQL Server 数据库的逻辑结构和物理结构3.掌握使用向导创建和删除数据库的方法二.实验要求1.熟练使用SSMS进行数据库的创建和删除操作。

2.完成实验报告。

三.实验内容设有一学籍管理系统,其数据库名为“EDUC”。

初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。

数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”(注意:此文件名必须已经建立的前提下才可以此操作)。

日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。

四.实验步骤1.使用SQL Server Management Studio(简称SSMS)创建数据库。

(1)启动SSMS在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。

如果身份验证选择的是“混合模式”,则要输入sa的密码。

(2)建立数据库在“对象资源管理器”窗口,建立上述数据库EDUC。

在数据库节点上右击选择新建。

同时建立一个同样属性的数据库EDUC1。

2. 使用向导删除上面建立的数据库。

用SSMS删除建立的数据库EDUC。

3、数据库的分离将刚建好的数据库分离出来,即点击新建的EDUC——任务——分离,将删除连接和更新打一个钩,然后点击确定。

SQL实验二:数据库查询实验报告

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 分以上的学生姓名及所在系。

实验二总结报告

实验二总结报告

《数据库原理与应用》实验报告实验名称:实验二班级:软件工程学号:姓名:一、实验目的1.掌握使用SQL语句创建和删除数据表,创建各种完整性约束。

2.掌握使用SQL语句修改表的结构。

3. 掌握查询语句的使用方法,重点掌握连接查询和嵌套查询。

二、实验过程1.使用SQL语句建立4个关系,:供应商表S (Sno, Sname, City)零件表P(Pno, Pname, Color, Weight)工程项目表J(Jno, Jname, City)供应情况表SPJ(Sno, Pno, Jno, QTY)创建S表的语句为:create table s(sno varchar2(20) primary key,sname varchar2(40) unique,city varchar2(10));语句的执行结果为:create table p(pno varchar2(20) primary key,pname varchar2(40),color varchar2(10),weight number check(weight>=1 and weight<=50)); 语句的执行结果为:创建j表的语句为:create table j(jno varchar2(20) primary key,jname varchar2(40) unique not null,city varchar2(10));语句的执行结果为:create table spj(sno varchar2(20),pno varchar2(20),jno varchar(20),qty number(5),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两个属性列,分别用来存放供应商的联系电话和电子信箱。

sql 数据库实验报告2

sql 数据库实验报告2

《最新数据库管理系统》课程实验报告一、实验目的1、通过实验,使学生全面了解最新数据库管理系统的基本内容、基本原理。

2、牢固掌握SQL SERVER的功能操作和Transact-SQL语言。

3、紧密联系实际,学会分析,解决实际问题。

学生通过小组项目设计,能够运用最新数据库管理系统于管理信息系统、企业资源计划、供应链管理系统、客户关系管理系统、电子商务系统、决策支持系统、智能信息系统中等。

二、实验内容1. 练习使用Transact-SQL语句创建备份数据库和使用SQL Server Management Studio工具还原数据库。

2. 练习使用Transact-SQL语句和SQL Server Management Studio工具创建和修改表的结构以及使用IDENTITY属性。

3.练习使用Transact-SQL语句操纵表中数据。

三、执行情况1. 练习使用Transact-SQL语句创建备份数据库和使用SQL Server Management Studio工具还原数据库。

使用命令创建备份设备使用BACKUP DATABASE语句执行增量数据库备份备份数据库和日志在D盘新建名为“SQLServerDBData ”的文件夹,然后进行编写代码。

执行还原操作2. 练习使用Transact-SQL语句和SQL Server Management Studio工具创建和修改表的结构以及使用IDENTITY属性。

使用CREATE TABLE语句创建students表使用CREATE TABLE语句创建orders表使用CREATE TABLE语句创建book使用CREATE TABLE语句创建包含计算列的表使用CREATE TABLE语句创建全局临时表使用ALTER TABLE语句增加表中的列使用ALTER TABLE语句删除表中的列使用ALTER TABLE语句更改列的数据类型创建两个IDENTITY表向第一个表中插入数据查看第一个表中的数据将北京、上海、香港换成汉语拼音后产生效果如下图:将InfoName 的数据类型改为nchar(10),产生效果如下图:3.练习使用Transact-SQL语句操纵表中数据。

(数据库)sql综合实训报告

(数据库)sql综合实训报告

管理信息系统课程设计——教学成绩管理系统的设计与实现摘要:当前各高校教学成绩的管理,在传统的手工处理模式下,每年学生课程的选择以及成绩的管理都要耗费学生和教师的很多精力,而且效率差、错误率高。

本文就这个问题,通过教学成绩管理系统的设计,提供了一套基于数据库应用系统的解决方案,并进行了系统的设计与实现。

在分析设计阶段我们用到了E-R模型(实体—联系模型)、关系模型等方法,在实施阶段,我们采取SQLServer6.0作为开发工具,得到了教学成绩管理系统的数据库。

其中由丁俊文设计“专业”“班级”的分E-R图并编写《数据库信息文档》和后期视图的设计;由刘志琼设计“系部”“教研室”的分E-R图及整合各分E -R图;由张玉设计“课程”“学院”的分E-R图;由于艳青设计“学生”“教师”的分E-R 图和成绩管理数据库的创建。

关键词:数据库,系统设计,SQL Server一功能需求分析学校各分院正常教务管理系统包括教学计划、师资、教材、教室、学籍、考试、排课、次、评估管理等,其中最重要的仍然是成绩管理,本次实训做的是《成绩管理系统》,包括学院、系部、教研室、专业、教师、学生、课程、等信息管理和课程设置、教学成绩信息管理等方面的,本系统开发任务是实现某学院教学成绩信息管理规范化和自动化,系统的用户有学院领导、成绩管理人员、班主任、教师及学生等。

⑴教师:在校园网(局域网)或互联网录入与查询所代课程成绩数据,查询学院、系部、教研室、专业、教师、学生、课程信息等数据。

⑵班主任:在校园网或互联网录入与查询所负责班级的学生档案信息,查询学院、系部、教研室、专业、教师、学生、课程信息和所管学生成绩等数据。

⑶学生:在校园网或互联网查询学生个人档案信息和成绩信息,查询学院、系部、教研室、专业公共信息和所在班的课程设置等数据。

⑷领导:在校园网或互联网查询本系统所有信息。

⑸成绩管理人员:在校园网或互联网查询本系统所有信息,在校园网维护所有数据。

sql数据库实验报告

sql数据库实验报告

sql数据库实验报告SQL数据库实验报告一、引言SQL(Structured Query Language)是一种用于管理关系型数据库的编程语言。

在本次实验中,我们使用SQL语言进行了数据库的设计、创建和操作,以及对数据库的查询和更新等操作。

本报告将详细介绍实验的目的、设计思路、实验过程和实验结果等内容。

二、实验目的本次实验的主要目的是熟悉SQL语言的使用,掌握数据库的设计和操作技巧。

通过实际操作,加深对数据库原理和相关知识的理解,并能够灵活运用SQL语言进行数据库的管理和操作。

三、实验设计本次实验的数据库设计基于一个图书馆管理系统。

我们需要设计多个表格,包括图书、读者、借阅记录等,并建立相应的关系。

为了实现这一目标,我们采用了以下步骤:1. 创建数据库:首先,我们使用SQL语句创建一个新的数据库,命名为"Library"。

2. 创建表格:接下来,我们根据需求创建了多个表格,包括"Books"、"Readers"和"BorrowRecords"等。

每个表格都有相应的字段,用于存储相关数据。

3. 设计关系:在创建表格的过程中,我们需要考虑不同表格之间的关系。

例如,图书表格和读者表格之间可以建立借阅关系,通过读者ID和图书ID进行关联。

4. 插入数据:创建表格后,我们使用SQL语句向表格中插入测试数据。

这些数据包括图书的名称、作者、出版日期等信息,以及读者的姓名、年龄、性别等信息。

5. 查询和更新:最后,我们使用SQL语句进行数据库的查询和更新操作。

通过编写合适的查询语句,我们可以实现对图书、读者和借阅记录等数据的检索和修改。

四、实验过程在实验过程中,我们按照上述设计思路一步步进行操作。

首先,我们使用SQL 语句创建了一个名为"Library"的数据库。

接着,我们创建了三个表格,分别是"Books"、"Readers"和"BorrowRecords"。

SQL2-数据模型与关系数据库

SQL2-数据模型与关系数据库

福建师范大学信息技术学院
概念模型到关系模型的转换 E-R图转换关系模式
了解实体转换原则
了解联系转换原则
福建师范大学信息技术学院
概念模型到关系模型的转换 实体E的转换
一个实体转换为一个关系模型,实体的属性就是关系 的属性,实体的主键就是关系的主键; 实体和属性命名时,尽量使用英文或拼音,以适应各 种数据库管理系统的兼容操作;
福建师范大学信息技术学院
概念模型到关系模型的转换 联系R的转换
一对多联系的转换
福建师范大学信息技术学院
概念模型到关系模型的转换 联系R的转换
多对多联系的转换
• 实体直接转换为关系模式,联系则只能独立转换为一个关系模式 • 新关系的属性包括联系自身的属性以及相连的各实体的主键
福建师范大学信息技术学院
关系数据库 关系的键
在例2-1中,学生关系的“班级编号”属性与班级关系 的主键“班级编号”相对应,因此“班级编号”属性 是学生关系的外键。这里班级关系是被参照关系,学 生关系为参照关系。如图2-1(a)所示。 在例2-1中,选修关系的“学号”属性与学生关系的主 键“学号”相对应,“课程号”属性与课程关系的主 键“课程号”相对应,因此“学号”和“课程号”属 性是选修关系的外键。这里学生关系和课程关系均为 被参照关系,选修关系为参照关系。如图2-1(b)所 示。
福建师范大学信息技术学院
关系数据库 关系的键
外键(Foreign Key):设F是基本关系R的一个或一 组属性,但不是关系R的键。如果F与基本关系S的主键 Ks相对应,则称F是基本关系R的外键,并称基本关系 R为参照关系(Referencing Relation),基本关系S 为被参照关系(Referenced Relation)或目标关系 (Target Relation)。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验二数据库关系模式
实验名称:数据库关系模式
实验课时:2课时
实验地点:艺术楼417
机器编号:ST07
实验时间: 2018年11月 9日15:30-17:10 第10周星期四
班级:
学号:
姓名:
一、实验目的
熟悉 SQL Server 图形化界面的基本操作。

二、实验要求
在图形化界面和查询分析器(应用 SQL 语言)两种环境下实现数据库关系模式设计:
(1)创建、修改、查看表的结构。

(2)建立和修改表的主码、外码、索引及其它约束条件。

(3)对所创建的表进行插入、修改和删除元组的操作,删除所创建的表。

三、实验环境
(1)硬件设备:PC机一台
(2)操作系统:Windows 10
(3)应用工具:SQL Server
四、实验内容:
1.创建表
(1)使用 SQL Server Management Studio,如图 2.1 所示,点开要创建表的数据库,右键点击数据对象“表”,选择“新建表”。

在弹出的表的新建窗口中填入相关表信息(列名、数据类型、是否为 null)。

表信息填写好之后,如果有
需要就可以设置主键。

设置方法为,首先选中作为主键的列,如果是多个列,可以按 ctrl 键多选;选中列后,如图 2.2 所示,点击钥匙图标,或者右键菜单选择“设置主键”。

点击磁盘图标或者关闭窗口时会提示输入表名,创建新表成功。

外键约束是用来加强两个表(主表和从表)的一列或多列数据之间的连接的。

创建外键约束的顺序是先定义主表的主键,然后定义从表的外键。

也就是说只有主表的主键才能被从表用来作为外键使用,被约束的从表中的列可以不是主键,主表限制了从表更新和插入的操作。

点击关系图标或者右键菜单选择“关系”,则弹出关系对话框,如图 2.3 所示,点击“添加”按钮新建外键联系。

点击“表和列规范”右侧的“...”按钮,弹出如图 2.4 所示界面,主表的列必须是主键或者唯一约束的列,从表的列必须与主表的列数据类型和长度一致,即图 2.1 新建表外键。

点击管理索引和键的图标或者右键菜单选择“索引/键”,弹出如图 2.5 所示对话框,可以创建索引或者 unique 约束,缺省已经有一个主键索引。

图 2.5 管理索引/键点击管理 CHECK 约束的图标或者右键菜单选择“CHECK 约束”可以创建 check 约束。

(2)如图 2.6 所示,点击“新建查询”打开 SQL 语言编辑器,可以在窗口内编写 SQL语句或者执行 SQL 脚本文件。

在执行 SQL 语言之前,要注意当前的数据库,可以通过下拉框切换数据库,也可以通过在窗口内执行命令“use 数据库名”切换数据库。

创建表
CREATE TABLE [数据库名.拥有者.]<表名>
(<列名> <数据类型>[ <列级完整性约束条件> ]
[,<列名> <数据类型>[ <列级完整性约束条件>] ] …
[,<表级完整性约束条件> ]
);
主键约束(PRIMARY KEY),用来强制数据的实体完整性,唯一标识表中的每行记录。

每个表只能有一个主键,可以是一列或多列的组合。

主键值必须唯一并且不能为空。

唯一约束(UNIQUE) ,用来强制数据的实体完整性,限制表的非主键列中不允许输入重复值。

一个表中可以定义多个唯一约束,可以是一列或多列的组合。

空值可以出现在某列中一次。

外键约束(FOREIGN KEY),用来强制数据的参照完整性,维护相关联的表之间数据的一致性关系。

可以是一列或多列的组合,虽不是该表的主键,但却是另一个表的主键。

检查约束(CHECK) ,用来强制数据的域完整性,使用逻辑表达式来限制表中的列可以接受哪些数据值。

默认约束(DEFAULT) ,用来强制数据的域完整性,为表中某列建立一个默值。

图 1.1 SQL语句创建s0523和c0523表
图 1.2 设置主键
2.查看及修改表结构
(1)使用 SQL Server Management Studio,右键选择要操作的表,右键菜单中选择“设计”,弹出表结构,并可以修改。

但是修改后会出现图 2.7 所示的错误,需要选择菜单“工具”->“选项”,在如图 2.8 所示的界面中,选择“Designers”,取消“阻止保存要求重新创建表的更改”选项。

(2)使用 SQL 语言,查看表结构,使用系统存储过程“sp_help 表名”。

修改表结构
ALTER TABLE 表名
{ [ ALTER COLUMN /*对现有字段属性进行修改*/
字段名新数据类型 [(精度 [ , 小数位数] )]
[ NULL | NOT NULL ]
| ADD /*添加字段*/
{字段定义|字段名 AS 计算字段表达式}[,…n]
| DROP COLUMN 字段名[,…n] /*删除字段*/
| ADD CONSTRAINT 约束名称 /*添加约束*/
| DROP CONSTRAINT 约束名称 /*删除约束*/
3. 查看及更新数据
(1)使用 SQL Server Management Studio,右键选择要操作的表,右键菜单中选择“选择前1000 行”来查看数据;选择“编辑前 200 行”来更新数据。

(2)数据查询采用select 语句;数据更新,采用insert into,update,delete 等语句。

图 1.3 查询选修01号课程的人名
五、实验任务
1. 采用 SQL 语言创建两个基本表,表结构说明如下:
学生 s 学号后四位(sno,sname,age,sex),其中 sno 为主码,sname 不重名,sex 非空缺省为‘男’。

课程 c 学号后四位(cno,cname,cpno,ccredit),其中 cno 为主码,cpno 为外码,参照 cno。

2. 采用 SQL Server Management Studio 创建一个基本标,表结构说明如下:选修 sc 学号后四位(sno,cno,grade) ,其中 sno,cno 组合为主码;sno 为外码,参照 s学号后四位表的 sno 字段;cno 为外码,参照 c 学号后四位表的 cno 字段;grade 范围为 0到 100。

3. 采用 SQL 语句修改表结构,向 s 学号后四位表中增加一个字段 addr,类型为变长字符串,长度为 100;修改 c 学号后四位表的 cname 字段,增加约束条件该字段为非空。

4. 向三个表中分别填写一些测试数据,同时进行修改和删除的操作,要求课程不少于 4 门,选修记录不少 10 条,学生信息(录入本班同学信息,要求学号和姓名准确,必须报告本人,不少于 10 条)。

注意:为了方便后续实验,最好对数据库数据进行备份;或者创建 SQL 语
言脚本文件。

图1.4查看设置的S0523表
图1.5设置Cpon可以取值为空
图1.6输入c0523表的每个元组
图1.7添加addr并且用语句输入s0523每个元组
图1.7用SQL语句输入SC0523表每个元组
小结:
通过这次上机实验,我有以下收获:
对SQL Server的创建数据库,创建表运用SQL语句,以及设置主键,添加约束关系有了更深层次的了解,并且运用自如。

熟悉 SQL Server 图形化界面的基本操作。

并且在表中输入数据,以及运用SQL语句输入信息,对单表,连接,嵌套的查询,更改,删除运用自如,熟悉如何在 SQL Server 图形化界面下建立数据库和表。

相关文档
最新文档