SQL第3章管理数据表
数据库原理 第三章关系数据库标准语言——SQL期末习题与答案
1、数据库的事务日志文件()。
A.只能有一个B.可以有多个C.可以没有D.以上都不对正确答案:B2、CREATE命令属于()语句。
A.数据查询B.数据操纵C.数据定义D.数据控制正确答案:C3、使用ALTER命令修改数据时,以下说法错误的是()。
A.可以增加主要数据文件B.可以删除次要数据文件C.可以修改文件的增容方式D.可以增加事务日志文件正确答案:A4、使用存储存储过程Sp_helpfile可以()。
A.查看数据库的结构B.查看数据库的文件信息C.查看数据库的文件组信息D.以上都可以5、在DBMS中分离数据库之后,()。
A.数据库文件将会从磁盘上删除B.数据库文件将会脱离DBMSC.事务日志文件将会从磁盘上删除D.以上都不对正确答案:B6、假设学号字段“SNo”的数据类型为nvarchar(6),当“SNo”的值为“S001”时,“SNo”在内存中占()字节。
A.4B.6C.8D.12正确答案:C7、创建数据表时,如果给某个字段定义PRIMARY KEY约束时,该字段的数据()。
A.不允许有空值B.允许有多个空值C.允许有一个空值D.以上都不对正确答案:A8、为数据表增加新的字段时,()。
A.可以为新字段设置NOT NULL约束B.不能为新字段设置NOT NULL约束C.不能为新字段设置约束D.以上都不对9、在SQL的SELECT语句中,能实现选取操作的是()。
A.SELECTB.FROMC.WHERED.GROUP BY正确答案:C10、假定学生关系是S(SNo,SName,Sex,Age),课程关系是C(CNo,CName,Teacher),学生选课关系是SC(SNo,CNo,Grade)。
要查找选修“数据库”课程的“男”学生姓名,将涉及的关系是()。
A.SB.SC,CC.S,SCD.S,C,SC正确答案:D11、下列SQL语句中,()不是数据操纵语句。
A.INSERTB.CREATEC.DELETED.UPDATE正确答案:B12、SQL中,下列涉及空值的操作,不正确的是()。
第三章 关系数据库查询语言SQL
20112011-2-25
主讲:王颂华
9
3.2 数据定义
3.2.3 索引的建立与删除
1.建立索引 1.建立索引 索引是数据库随机检索的常用手段,它实际上是记 录的关键字与其相应地址的对应表。借助于索引结构,可 以迅速查找到某个属性A 以迅速查找到某个属性A具有指定值的那些元组。对一个 基本表,可以按需要建立若干个索引,以便提供多种存取 路径。 建立索引的语句格式为: CREATE[UNIQUE][CLUSTER]INDEX<索引名 CREATE[UNIQUE][CLUSTER]INDEX<索引名 > ON<表名>(<列名1>[<次序>],[<列名2>[<次序 ON<表名>(<列名1>[<次序>],[<列名2>[<次序 >]]… >]]…);
3.2 数据定义
2)主关键字的定义 一个关系可能有多个候选关键字,但在定义基本表 时只能定义一个主关键字。一个关系的主关键字由一个或 几个属性构成,在CREATE TABLE中声明主关键字有两 几个属性构成,在CREATE TABLE中声明主关键字有两 种方法: (1)在列出关系模式的属性时,在属性及其类型后加 上保留字PRIMARY KEY,表示该属性是主关键字。 上保留字PRIMARY KEY,表示该属性是主关键字。 (2)在列出关系模式的所有属性后,再附加一个声明: PRIMARY KEY(<属性1>[,<属性2>,…]) KEY(<属性1 ,<属性2>,… 如果关键字由多个属性构成,则必须使用第二种方 法。
20112011-2-25 主讲:王颂华 12
3.3 数据查询
3.3.1 单表查询
《sql_server_2005》_课件第三章_表和表数据操作
datetime
8
1753-1-1 ~9999-12-31 1900-1-1 ~2079-12-31
smalldatetime
4
SQL Server实用教程
2014年11月12日星期三
Page 4
3.1.4 字符类
1、字符串类型:字母、数字和符号组成,常量 使用单引号做定界符
名称 存储长度(字节) 存储数值范围 备注
Page 13
注意:向已有记录的表中添加列时,新添加字段 通常设置为允许为空,否则必须为该列指定默认 值。这样就将默认值传递给现有记录的新增字段, 否则添加列的操作将失败。另外,一个ALTER TABLE一次只能添加一个列。
SQL Server实用教程
2014年11月12日星期三
Page 14
列约束的格式为:
[CONSTRAINT
约束名] PRIMARY KEY [(列名)]:
指定列为主键 [CONSTRAINT 约束名] UNIQUE KEY [(列名)]: 指定列为唯一键 [CONSTRAINT 约束名] FOREIGEN KEY [(外键 列)] REFERENCES 引用表名(引用列):指定列为 外键,并说明引用的源表及在该表中所用的列名 [CONSTRAINT 约束名] CHECK (检查表达式):指 定列的检查约束 [CONSTRAINT 约束名] DEFAULT 默认值:指定列 的默认值
第3章 数据库中的表
3.1 SQL 数据类型 3.2 创建表 3.3 表的管理和维护 3.4 表数据的操作
SQL Server实用教程
2014年11月12日星期三
Page 1
3.1.1 精确数值型
1、 整数
chap3-SQL SERVER 数据库简介
北京清华万博网络技术股份有限公司版权所有
WS-NE30-3-03
03-2
3.1 SQL Server 2000 简介
• • • • • • • 1988年SQL Server的NT版本 1993年SQL Server4.2 1995年SQL Server6.0 1996年SQL Server6.5 1998 年SQL Server7.0 2000年SQL Server 2000 测试版发布 2001年SQL Server 2000 正式版发布
版本
企业版
操作系统要求
Microsoft Windows NT Server 4.0、Microsoft Windows NT Server 4.0 企业版、Windows 2000 Server、Windows 2000 Advanced Server 和 Windows 2000 Data Center Server。 同上 Microsoft Windows Me、Windows 98、Windows NT Workstation 4.0、Windows 2000 Professional、 windows xp Microsoft Windows NT Server 4.0、 Windows 2000 Server 和所有更高级的 Windows 操 作系统。
WS-NE30-3-03
03-26
3.4.1 SQL Server 2000 的安装(续)
北京清华万博网络技术股份有限公司版权所有
WS-NE30-3-03
03-27
3.4.1 SQL Server 2000 的安装(续)
北京清华万博网络技术股份有限公司版权所有
WS-NE30-3-03
03-28
数据库系统概论第五版课后习题答案
第1章绪论1 .试述数据、数据库、数据库系统、数据库管理系统的概念。
答:( l )数据( Data ) :描述事物的符号记录称为数据。
数据的种类有数字、文字、图形、图像、声音、正文等。
数据与其语义就是不可分的。
解析在现代计算机系统中数据的概念就是广义的。
早期的计算机系统主要用于科学计算,处理的数据就是整数、实数、浮点数等传统数学中的数据。
现代计算机能存储与处理的对象十分广泛,表示这些对象的数据也越来越复杂。
数据与其语义就是不可分的。
500这个数字可以表示一件物品的价格就是 500元,也可以表示一个学术会议参加的人数有 500人,还可以表示一袋奶粉重 500克。
( 2 )数据库( DataBase ,简称 DB ) :数据库就是长期储存在计算机内的、有组织的、可共享的数据集合。
数据库中的数据按一定的数据模型组织、描述与储存,具有较小的冗余度、较高的数据独立性与易扩展性,并可为各种用户共享。
( 3 )数据库系统( DataBas。
Sytem ,简称 DBS ) :数据库系统就是指在计算机系统中引入数据库后的系统构成,一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员构成。
解析数据库系统与数据库就是两个概念。
数据库系统就是一个人一机系统,数据库就是数据库系统的一个组成部分。
但就是在日常工作中人们常常把数据库系统简称为数据库。
希望读者能够从人们讲话或文章的上下文中区分“数据库系统”与“数据库”,不要引起混淆。
( 4 )数据库管理系统( DataBase Management sytem ,简称 DBMs ) :数据库管理系统就是位于用户与操作系统之间的一层数据管理软件,用于科学地组织与存储数据、高效地获取与维护数据。
DBMS的主要功能包括数据定义功能、数据操纵功能、数据库的运行管理功能、数据库的建立与维护功能。
解析 DBMS就是一个大型的复杂的软件系统,就是计算机中的基础软件。
目前,专门研制 DBMS的厂商及其研制的 DBMS产品很多。
sql -的用法
sql -的用法
“sql -的用法”这句话指的是使用SQL(Structured Query Language)语言进行数据库操作的方法和技巧。
SQL是一种专门用于关系型数据库管理的编程语言,它可以让用户对数据库进行各种操作,如创建、插入、更新、删除数据,查询数据等。
SQL的用法包括各种语句和命令,如SELECT、INSERT、UPDATE、DELETE、CREATE TABLE等。
SELECT语句用于从数据库表中查询数据,INSERT语句用于向数据库表中插入新的数据记录,UPDATE语句用于更新数据库表中已有的数据记录,DELETE语句用于删除数据库表中的数据记录,CREATE TABLE语句用于创建一个新的数据库表。
除了基本的操作语句,SQL还提供了许多高级功能,如子查询、连接操作、聚合函数等。
子查询是指在一个查询语句内部嵌套另一个查询语句,连接操作是指将两个或多个表中的数据按照一定的条件进行匹配和组合,聚合函数则用于对一组数据进行统计和计算,如求和、平均值、最大值等。
总之,“sql -的用法”指的是使用SQL语言进行数据库操作的方法和技巧,包括各种语句和命令的使用以及高级功能的应用。
熟练掌握SQL的用法可以帮助用户更高效地进行数据库管理和操作。
第3章 表的创建和使用
第三章表的创建和使用3.1 表结构1. 表的概念表(数据表):是指存放在磁盘文件中的一张二维表。
自由表:不属于任何数据库的表。
数据库表:包含在一个数据库中的表,只属于一个数据库。
表文件名:表名可以由字符、数字或下划线组成,但不可用A-J中的单个字母作文件名,系统自动给出的扩展名为.DBF。
备注文件名:当表中有备注型或通用型字段时,系统自动生成与所属数据表的表名相同、扩展名为:.FPT的文件名。
表结构:存储表记录的公共结构。
(就是指一张表的表头结构,即字段的属性)。
字段:表中的一列。
它规定了数据的特征。
记录:表中的一行。
它是多个字段的集合,同一张表的每个记录都有相同的字段。
关系型数据表的特点:(1)每一个字段不可再分解,也不能有名字相同的字段;(2)每一列中的数据都有相同的数据类型;(3)表中没有内容完全相同的行(记录)。
(4)表中任意两行或两列都可以任意交换。
2. 字段的基本属性字段的属性包括:字段名、数据类型、字段宽度、小数位数、空值支持◆字段名:即每个字段的名字,必须以字符开头,可由字符、数字、下划线组合而成,字母大、小写无区别,但其中不许有空格或其它字符。
自由表的字段名最多由10个字符组成,数据库表的字段名支持长名,最多可达128个字符。
如果从数据库中移去一个表,那么此表的长字段名将被截短成10 个字符。
VFP允许长字段名和长表名,但使用长名称对于跨平台的操作可能遇到难以预料的结果。
◆数据类型:指该字段的数据特征。
◆字段宽度:指该字段所能容纳数据的最大字节数。
◆小数位数:指数值型数据将保留几位小数。
此时的字段宽度= 整数位数+1+小数位数。
◆NULL 值(空值):用来指示记录中的一个字段有或没有数据的标识,NULL不是一种数据类型或一个值,NULL不等同于零或空格。
一个NULL 值不能认为比某个值(包括另一个NULL 值)大或小,相等或不同。
VFP 6.0表中字段的数据类型字段类型代号说明字段宽度使用示例字符型 C字母、汉字和数字型文本每个字符为1个字节,最多可有254 个字符学生的学号或姓名,"8199101" 或'李立'货币型Y 货币单位8 个字节工资,$1246.89日期型 D 包含有年、月和日8 个字节出生日期,的数据 {02/25/2000}日期时间型 T 包含有年、月、日、时、分、秒的数据 8 个字节 上班时间,{02/25/2000 9:15:15 AM}逻辑型 L“真”或“假”的布尔值 1 个字节课程是否为必修课,.T. 或 .F.数值型 N 整数或小数 在内存中占 8 个字节;在表中占 1 至20个字节 考试成绩, 83.5通用型 G OLE 对象 在表中占 4 个字节图片或声音备注型 M 不定长度的一段文字 在表中占 4 个字节学生简历3. 表结构的创建创建表结构其实就是设计字段的基本属性。
数据库构建与管理(SQL SERVER)教案系列第三章创建数据库和数据表1
SQL Server的数据库文件和文件组必须遵循以下规则:
★一个数据库主数据文件只能有一个。
★一个文件、文件组、事务日志文件只能被一个数据库使用。
※主数据文件:扩展名为.mdf,包含数据库系统信息并可存放用户数据库数据,每个数据库只有一个主数据文件。辅助数据文件:扩展名为.ndf,数据量很大时使用,可存放在不同的磁盘驱动器上,以便得利用多个磁盘上的存储空间并提高数据存取的并发性。
2)文件组
SQL Server数据库还允许将多个数据库文件组成一个文件组进行整体管理。比如可以设置三个数据文件data1.mdf、data2.ndf、data3.ndf并分别创建在三个磁盘上,也可以创建两个文件组group1、group2,将data1.mdf、data2.ndf加入group1,而将data3.ndf加入group2。
数据库构建与管理(SQL SERVER)教案
课题
第3章创建数据库和数据表பைடு நூலகம்
授课形式
新授
授课课时
共2课时,第1、2课时
使用教具
多媒体
课前准备
PPT
教学目标
掌握数据库的创建、修改、删除、分离、附加
教学重点
数据库的创建、分离、附加
教学难点
数据库的创建
更新、补充
删节内容
板书设计
一、创建数据库
主数据文件(Primary file):存放数据和启动信息。每个数据库都必须有且只能有一个主数据文件,其扩展名为.MDF。
数据库第三章习题及答案
第3章关系数据库标准语言SQL一、选择题1、SQL语言是的语言,易学习。
A.过程化 B.非过程化 C.格式化 D.导航式答案:B2、SQL语言是语言。
A.层次数据库 B.网络数据库 C.关系数据库 D.非数据库答案:C3、SQL语言具有的功能。
A.关系规范化、数据操纵、数据控制 B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制 D.数据定义、关系规范化、数据操纵答案:B4、SQL语言具有两种使用方式,分别称为交互式SQL和。
A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL 答案:C5、假定学生关系是S(S#,SNAME,SEX,AGE),课程关系是C(C#,CNAME,TEACHER),学生选课关系是SC(S#,C#,GRADE)。
要查找选修“COMPUTER”课程的“女”学生姓名,将涉及到关系。
A.S B.SC,C C.S,SC D.S,C,SC 答案:D6、若用如下的SQL语句创建一个student表:CREATE TABLE student(NO C(4) NOT NULL,NAME C(8) NOT NULL,SEX C(2),AGE N(2))可以插入到student表中的是。
A.(‘1031’,‘曾华’,男,23) B.(‘1031’,‘曾华’,NULL,NULL)C.(NULL,‘曾华’,‘男’,‘23’) D.(‘1031’,NULL,‘男’,23) 答案:B7、当两个子查询的结果时,可以执行并,交,差操作.A.结构完全不一致 B.结构完全一致C.结构部分一致D.主键一致答案:B第8到第10题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。
第3章数据管理3.2设计逻辑结构与建立数据库-高中教学同步《信息技术数据管理与分析》(教案)
关系模式:关系名(属性1,属性2,...)
实例:世界杯(届次,年份,地点,冠军)
3.逻辑结构设计
E-R图到关系模型的转换
实体的转换:实体→关系模式
联系的转换:
m:n联系→独立关系模式
1:n联系→独立关系模式/合并到n端实体关系模式
1:1联系→独立关系模式/合并到任意一端实体关系模式
通过小组讨论和团队协作,培养学生的团队协作能力和沟通能力。
引导学生自主学习和探索,培养学生的自主学习能力和创新精神。
情感态度与价值观目标:
激发学生对数据库学习和应用的兴趣,培养学生的信息素养和终身学习的意识。
培养学生的责任感和使命感,理解数据库技术在现代社会中的重要地位和作用。
培养学生的职业道德和规范意识,引导学生正确、合法地使用数据库技术。
准备课后反馈渠道,如电子邮件、在线论坛等,以便学生提出问题和建议。
教学媒体
教学PPT或幻灯片:用于展示课程大纲、关键概念、步骤说明、示例图(如E-R图转换为关系模型的图表)、流程图等。这些视觉元素有助于学生理解和记忆复杂的概念和过程。
数据库管理系统软件:如MySQL或Navicat for MySQL,用于演示如何在实际环境中创建、查看、修改和删除数据库及数据表,以及导入和导出数据。这些软件为学生提供了真实的操作体验。
遇到问题及时寻求帮助,与同学和教师交流。
通过实践操作,使学生掌握在MySQL控制台和Navicat for MySQL中创建和查看数据库的方法,培养学生的动手能力和实践能力。
活动四:
巩固练习
素质提升
讲解数据表创建规则:介绍创建数据表时需要注意的事项,如字段命名规则、数据类型选择等。
演示数据表操作:在Navicat for MySQL中演示如何创建、查看、修改和删除数据表。
数据库第三章部分习题答案
3.2 对于教学数据库的三个基本表S(S#,SNAME,AGE,SEX)SC(S#,C#,GRADE)C(C#,CNAME,TEACHER)试用SQL的查询语句表达下列查询:3.2.1检索年龄小于17岁的女学生的学号和姓名select s#,sname from Swhere age<17 and sex=F;3.2.2检索男生所学课程的课程号和课程名select c#,cname from Cwhere c# in (select distinct c#from SCwhere s# in (select s# from S where sex=M)) 3.2.3检索男生所学课程的任课老师的工号和姓名实用文档select t#,tname from Twhere t# in(select distinct t#from C实用文档where c# in(select distinct c#from SCwhere s# in(select s#from Swhere sex=1)));3.2.4检索至少选修两门课程的学生的学号select s#from SCgroup by s#having count(c#)>=2;3.2.5检索至少有学号为S2和S4所学的课程和课程名select c#,cnamefrom C实用文档where c# in((select c#from sc where s#='S2')intersect实用文档(select c# from sc where s#='S4') );3.2.6检索‘WANG’同学不学的课程号select c# from cexcept(select distinct c#from scwhere s# =(select s# from s where sname='WANG'));3.2.7检索全部学生都选修的课程号和课程名select c#,cnamefrom cwhere not exists(select s#from swhere c.c# not in (select c# from sc where sc.s#=s.s# ));实用文档3.2.8检索选修课程包含'LIU'老师所授课程的全部课程的学生的学号和姓名select s#,snamefrom s实用文档where not exists((select c#from cwhere t#=(select t#from twhere tname='LIU')) except(select c# from sc wheresc.s#=s.s#) );3.4 设有两个基本表R(A,B,C)和S(A,B,C),试用SQL查询语句表达下列关系代数表达式:① R∪S ② R∩S ③ R-S ④R×S ⑤πA,BπB,C(S)⑥π1,6(σ3=4(R×S)⑦π1,2,3(R S)⑧R÷πC(S)解:①(SELECT * FROM R)UNION(SELECT * FROM S);②(SELECT * FROM R)3=3实用文档INTERSECT(SELECT * FROM S);③(SELECT * FROM R)MINUS(SELECT * FROM S);④SELECT *实用文档FROM R, S;⑤SELECT R.A, R.B, S.CFROM R, SWHERE R.B=S.B;⑥SELECT R.A, S.CFROM R, SWHERE R.C=S.A;⑦SELECT R.* (R.*表示R中全部属性)FROM R, SWHERE R.C=S.C;⑧R÷πC(S)的元组表达式如下:{ t |(∃u)(∀v)(∃w)(R(u)∧S(v)∧R(w)∧w[1]=u[1] ∧w[2]=u[2] ∧w[3]=v[3] ∧t[1]=u[1] ∧t[2]=u[2])}据此,可写出SELECT语句:SELECT A, BFROM R RXWHERE NOT EXISTS实用文档( SELECT *FROM SWHERE NOT EXISTS( SELECT *FROM R RY实用文档WHERE RY.A=RX.A AND RY.B=RX.B ANDRY.C=S.C));3.6 试叙述SQL语言的关系代数特点和元组演算特点。
用SQL语句创建表用SQL语句创建数据库
⽤SQL语句创建表⽤SQL语句创建数据库数据库中的所有数据存储在表中。
数据表包括⾏和列。
列决定了表中数据的类型。
⾏包含了实际的数据。
例如,数据库pubs中的表authors有九个字段。
其中的⼀个字段名为为au_lname,这个字段被⽤来存储作者的名字信息。
每次向这个表中添加新作者时,作者名字就被添加到这个字段,产⽣⼀条新记录。
通过定义字段,你可以创建⼀个新表。
每个字段有⼀个名字和⼀个特定的数据类型(数据类型在后⾯的“字段类型”⼀节中讲述),例如字段au_lname存储的是字符型数据。
⼀个字段也可以存储其它类型的数据。
使⽤SQL Sever,创建⼀个新表的⽅法是很多的。
你可以可执⾏⼀个SQL语句或使⽤SQL事务管理器(SQL Enterprise Manager)来创建⼀个新表。
在下⼀节⾥,你将学会如何⽤SQL语句来创建⼀个新表。
⼀、⽤CREATE语句创建表注意:如果你还没有建⽴⾃⼰的数据库,现在就跳回到第三章创建这个库。
你绝不能向master,tempdb或任何其他任何系统数据库中添加数据。
从SQL Sever程序组(在任务栏中)中启动ISQL/w程序。
出现查询窗⼝后,从窗⼝顶部的下拉列表中选择你在第三章所创建的数据库。
下⼀步,在查询窗⼝中键⼊下⾯的SQL语句,单击执⾏查询按钮,执⾏这个语句:CREATE TABLE guestbook (visitor VARCHAR(40),comments TEXT,entrydate DATETIME)如果⼀切正常,你会在结果窗⼝中看到如下的⽂字(如果出现异常,请参阅第三章):This command dit not return data ,and it did not return any rows祝贺你,你已经建⽴了你的第⼀个表!你所创建的表名为guestbook,你可以使⽤这个表来存储来字你站点访问者的信息。
你是⽤CREATE TABLE语句创建的这个表,这个语句有两部分:第⼀部份指定表的名字;第⼆部份是括在括号中的各字段的名称和属性,相互之间⽤逗号隔开。
数据库系统第3章 结构化查询语言
5. 事务处理语言
事务处理语言(Transaction Process Language,TPL)是SQL 语言中用于数据库内部事务处理的语句。主要语句如下:
BEGIN TRANSACTION – 开始事务 COMMIT – 提交事务 ROLLBACK – 回滚事务
6. 游标控制语言
游标控制语言(Cursor Control Language,CCL)是SQL语言 中用于数据库游标操作的语句。主要语句如下:
DECLARE CURSOR – 定义游标 FETCH INTO – 提交游标数据 CLOSE CURSOR– 关闭游标
六、SQL语言的数据类型
1. 基本数据类型
字符:CHAR、VARCHAR、TEXT 整数:SMALLINT、INTEGER 浮点数:NUMBER(n,d)、FLOAT(n,d) 日期:DATE、DATETIME 货币:MONEY 2. 不同数据库所支持数据类型 Access的数据类型见表3-1所示 SQL Server的数据类型见表3-2所示 MySQL的数据类型见表3-3所示
3. 数据查询语言 数据查询语言(Data Query Language,DQL)是SQL语言中用 于对数据库进行查询的语句。该语句只有Select一个语句, 但其变化范型较多。
4. 数据控制语言 数据控制语言(Data Control Language,DCL)是SQL语言中 用于对数据访问权进行控制的语句。主要语句如下: GRANT – 授予用户对数据对象的权限 DENY – 拒绝授予用户对数据对象的权限 REVOKE – 撤消用户对数据对象的权限
DBMS
(执行SQL)
I/O
数据
数据库
数据库原理 第三章:关系数据库标准语言SQL
例5:查询选修全部课程的学生姓名。
RANGE SC X Course CX GET W (Student.SN) : CXSCX (SCX.SNO=Student.SNO∧O=O)
1、除运算÷(Division,亦称商)
用途:除法运算同时从行和列的角度进行运算,在表达某 些查询时有用,适合于包含“全部”之类的短语的查询, 例如“查询已注册选修了所有课程的学生名字”。
定义:给定关系 R(X,Y),S(Y,Z),X,Y,Z为属 性列,关系R和关系S中的Y出自相同域集,则: R÷S={tr[X]|tr∈R∧Πy(S)Yx} 其中,Yx为x在R中的象集,x= tr[X]。
② 逻辑运算符:∧(与),∨(或),┐(非)
③ 表示执行次序的括号:()
其中,比较运算符的优先级高于逻辑运算符,可以使用()改
变它们的优先级。
例1:查询所有男学生的姓名。
GET W (Student.Sname) : Student. Ssex = „男’
例2:查询信息系(IS)中年龄小于20岁的学生的学号和年龄
例3:查询S3同学所选课程名
RANGE SC X Course CX GET W (ame):X CX (o=o∧X.Sno=‟S3‟)
此查询涉及两个关系,对两个关系(Course和SC)作用存在 量词,所以用了两个元组变量。
例4:查询至少选修一门其先行课为6号课程的学生名字
操作条件中使用量词时必须用元组变量 例1:查询S3同学所选课程号
SQL语言习题参考答案
第3章 SQL语言习题参考答案1.试述SQL语言的特点。
(85页)答:综合统一、高度非过程化、面向集合的操作方式、以同一种语法结构提供两种使用方式、语言简捷,易学易用。
2.试述SQL的定义功能。
(87页)答:SQL的数据定义功能包括定义表、定义视图和定义索引3.用SQL语句建立第二章习题5中的四个表。
S(SNO,SNAME,STATUS,CITY);P(PNO,PNAME,COLOR,WEIGHT);J(JNO,JNAME,CITY);SPJ(SNO,PNO,JNO,QTY);供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商状态(STATUS)、供应商所在城市(CITY)组成:CREATE TABLE S(Sno C(2) UNIQUE,Sname C(6) ,Status N(2),City C(4))零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2), WEIGHT I(2))工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、所在城市(CITY)组成:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8), CITY C(4))供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成:CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2), QTY N(2))4.针对上题中建立的四个表试用SQL语言完成第二章习题5中的查询:(1)求供应工程J1零件的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO=’J1’(2)求供应工程J1零件P1的供应商号码SNO:SELECT DIST SNO FROM SPJ WHERE JNO='J1' AND PNO='P1'(3)求供应工程J1零件为红色的供应商号码SNO:SELECT SNO FROM SPJ,P WHERE JNO='J1' AND = AND COLOR='红'(4)求没有使用天津供应商生产的红色零件的工程号JNO:SELECT DIST JNO FROM SPJ WHERE JNO NOT IN (SELE JNO FROM SPJ,P,S WHERE ='天津' AND COLOR='红' AND = AND =。
第3章 结构化查询语言 共171页
数据库原理及应用
一、SQL语言 DDL语句组成
数据定义语言(Data Definition Language,DDL)是SQL语言中用 于创建或删除表。也可以定义索引(键),规定表之间的链接,以 及施加表间的约束。主要语句如下:
CREATE DATABASE - 创建新数据库 ALTER DATABASE - 修改数据库 CREATE TABLE - 创建新表 ALTER TABLE - 变更(改变)数据库表 DROP TABLE - 删除表 CREATE INDEX - 创建索引(搜索键) DROP INDEX - 删除索引
三、SQL应用情况
绝大多数主流的关系型数据库管理系统采用了SQL语言标准 Oracle Sybase DB2 Microsoft SQL Server Access MySql 。。。 其中一些数据库管理系统对SQL语句进行了再开发和扩展,如Sybase、 Microsoft SQL Server将操作语言扩展为Transaction-SQL;Oracle将 操作语言扩展为PL/SQL。
1987年国际标准化组织(ISO)将其采纳为国际标准SQL86。 1989年更新成为国际标准SQL-89 1992年更新成为国际标准SQL-92(或称SQL2) 2019年更新成为国际标准SQL-99(或称SQL3) 2019年更新成为国际标准SQL:2019
2
数据库原理及应用
业务规则含义
如果删除了EMPLOYEE表中的某个行(例如一个雇员已调离),就 必须有人接替这个雇员工作。应用程序需要在删除原雇员前,把 该雇员的任务重新分配给另一个雇员。 如果删除了PROJECT表中的某个行,就取消这个项目,因此不必 维护这个项目的相关记录。
SQL语句练习题
SQL语句练习题S Q L语言一、选择题1.S Q L语言是()的语言,容易学习。
A.过程化B.非过程化C.格式化D.导航式2. S Q L语言的数据操纵语句包括S E L E C T、I N S E R T、U PD A T E、D E L E T E等。
其中最重要的,也是使用最频繁的语句是()。
A.S E L E C TB.I N S E R TC.U P D A T ED.D E L E T E3.在视图上不能完成的操作是()。
A.更新视图B.查询C.在视图上定义新的表D.在视图上定义新的视图4.S Q L语言集数据查询、数据操纵、数据定义和数据控制功能于一体,其中,C R E A T E、D R O P、A L T E R语句是实现哪种功能()。
A.数据查询B.数据操纵C.数据定义D.数据控制5.S Q L语言中,删除一个视图的命令是()。
A.D E L E T EB.D R O PC.C L E A RD.R E M O V E6.在S Q L语言中的视图V I E W是数据库的()。
A.外模式B.模式C.内模式D.存储模式7.下列的S Q L语句中,()不是数据定义语句。
A.C R E A T E T A B L EB.D R O P V I E WC.C R E A T E V I E WD.G R A N T8.若要撤销数据库中已经存在的表S,可用()。
A.D E L E T E T A B L E SB.D E L E T E SC.D R O P T A B L E SD.D R O P S9.若要在基本表S中增加一列C N(课程名),可用()。
A.A D D T A B L E S(C N C H A R(8))B.A D D T A B L E S A L T E R(C N C H A R(8))C.A L T E R T A B L E S A D D(C N C H A R(8))D.A L T E R T A B L E S(A D D C N C H A R(8))10.学生关系模式S(S#,S n a m e,S e x,A g e),S的属性分别表示学生的学号、姓名、性别、年龄。
第3章 SQL Server 2008管理工具
第3章SQL Server 2008管理工具在安装了SQL Server 2008并配置好服务器之后,便可以使用了。
本节将介绍随安装程序一起安装的附带管理工具和程序,他们有些是新增的,有些是增强了功能。
了解并掌握他们的使用将有助于读者更好地学习后面的知识。
3.1 SQL Server Management StudioSQL Server Management Studio是一个集成环境,用于访问、配置、管理和开发SQL Server的所有组件。
SQL Server Management Studio组合了大量图形工具和丰富的脚本编辑器,使各种技术水平的开发人员和管理员都能访问SQL Server,如图3-1所示。
图3-1 SQL Server Management Studio窗口SQL Server Management Studio将早期版本的SQL Server 中所包含的企业管理器、查询分析器和Analysis Manager 功能整合到单一的环境中。
此外,SQL Server Managem ent Studio 还可以和SQL Server 的所有组件协同工作,例如Reporting Services、Integrat ion Services 和SQL Server Compact 3.5 SP1。
开发人员可以获得熟悉的体验,而数据库管理员可获得功能齐全的单一实用工具,其中包含易于使用的图形工具和丰富的脚本撰写功能。
在本节前面已经用到SQL Server Management Studio工具,而且在后面章节中操作时也在此工具中完成。
3.2 SQL Server配置管理器作为管理工具SQL Server配置管理器(简称为配置管理器)统一包含了SQL Server 2008服务、SQL Server 2008网络配置和SQL Native Client配置三个工具供数据库管理人员做服务启动/停止与监控、服务器端支持的网络协议,用户用来访问SQL Server的网络相关设置等工作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
char(n)
varchar(n) 按变长存储字符 text
231-1个字节
7
3.2 SQL Server 2005数据类型
3.Unicode字符数据 功能:存放Unicode字符数据.支持的字符范围更大,存储所需 要的空间也更大。
类型 存储空间大小 (字节) 固定长度存储 字符串 符串 最大取值 N∈[1,4000] 默认为1 N∈[1,4000] 默认为1 说明 输入不足n个字节,补足后 存储;超过则截断后存储. 输入不足n字节,按实际长 度存储;超过则截断后存储.
27
3.4.1 修改表结构
2 使用T-SQL语言修改表 1)语法: ALTER TABLE table_name { [ ALTER COLUMN column_name { new_data_type [ ( precision [ , scale ] ) ] [ NULL | NOT NULL ]} ] | ADD { [ < column_definition > ] } [ ,...n ] | DROP { [ CONSTRAINT ] constraint_name | COLUMN column } [ ,...n ] } [ [ DEFAULT constant_expression ] [ WITH VALUES ] | [ IDENTITY [ ( seed , increment )] ]
3.1 SQL Server表的概念
3.2 SQL Server中的数据类型
3.3 创建数据表
3.4 管理数据表
4
3.2 SQL Server 2005数据类型
1.二进制数据 2.字符型数据类型
6.精确数值型数据 7.近似数值类型
3.Unicode字符数据
4.日期时间型数据
8.货币数据
12
3.2 SQL Server 2005数据类型
8.货币数据
类型 money 存储大小 8 个字节 数据范围 货币数据值介于 -263与 263 - 1之 间,精确到货币单位的千分之 十
smallmoney
4个字节
货币数值介于-214,748.3648 ~ +214.748,3647 之间,精确到货 币单位的千分之十
Varbinary(n) 变长存储数据 N∈[1,8000] 输入不足n+4字节,按实际
image
231-1
6
3.2 SQL Server 2005数据类型
2.字符型数据类型 功能:用于存储汉字、英文字母、数字、标点和各种符号,必 须由英文单引号括起来。
类型 存储空间大小 (字节) 固定长度存储字 符串 串 最大取值 N∈[1,8000] 默认为1 N∈[1,8000] 默认为1 说明 输入不足n个字节,补足后 存储;超过则截断后存储. 输入不足n字节,按实际长 度存储;超过则截断后存储.
18
3.3 创建数据表
语法注释: ●database_name:指定创建的表所在的数据库,在 当前数据库创建表时该项可以省略。 ● owner:指定表的拥有者,如果表的拥有者为当前 用户,该项可以省略。 ● table_name:指定新建表的名称。 ● column_definttion:为表中字段的定义表达式。 ● column_name:为表中的字段名。 ● data_type:为字段的数据类型。 ● PRIMARY KEY:为主键约束关键字。 ● UNIQUE:为唯一约束关键字。 ● DEFAULT:为默认约束关键字。 ● IDENTITY:为自动编号标识。 ● Seed:为自动标识的开始值,默认为1。 ● Increment:为自动编号的步长或增量,默认为1。
以保证输入数据的正确性和一致性。
3)添加数据:表结构建立完成之后,就可以向表中输入数据。
16
3.3 创建数据表
1.使用SSMS创建表 例1:请在student数据库中建立‚学生基本信息‛表的结构。
字段名 学号 姓名 性别 出生年月 籍贯 家庭住址 电话 所属班级 字段数据类型 char char char datetime varchar varchar char char 长度 8 10 2 8 20 60 15 8 是否为空 否 否 是 是 是 是 是 是 默认值‘ 男’ 约束 主键
属性(列或字段) 关系名(表名) 学生表 属性名 关系模式
学号
记录或元组
姓名 张三 李伟 王丽
性别 男 男 女
出生日期 1980 1981 1982
系部 计算机 经 济 管 理 数学
入学时间 2000 2000 2001
000101 000201 010101
主键(码)
2
3.1 SQL Server表的概念
注: 主键的字段值不能为空,且字段值在表中.使用T-SQL语句创建表 1)语法: CREATE TABLE [database_name.[owner].|owner.]table_name ( {column_definition>} | [ { PRIMARY KEY | UNIQUE }[,…N] ] ) < column_definttion>::={ column_name data_type} [ [ DEFAULT constraint_expression] | [IDENTITY [(seed,increment) ]] ] [<column_constraint>][,…n]
8 4 2
-263 ~ 263-1 -231 ~ 231-1 -215 ~ 215-1
0~255
tinyint
1
10
3.2 SQL Server 2005数据类型
6.精确数值型数据
功能:用于存储带有小数点且小数点后位数确定的实数。
类型 说明 数据范围
decimal(p,[s])
numeric(p,[s])
2.表的设计
在SQL Server创建表有如下限制:
每个数据库里最多有20亿个表。 每个表上最多可以创建一个聚集索引和249个非聚集索
引。
每个表最多可以配置1024个字段。
每 条 记 录 最 多 可 以 占 8060B , 但 不 包 括 text 字 段 和
image字段。
3
第3章 管理数据表
9.位类型数据
5.整数型数据
5
3.2 SQL Server 2005数据类型
1.二进制数据 功能:常用于存储图像等数据,包括长二进制数据 binary、变长二进制数据varbinary和image三种。
类型 存储空间大小 (字节) 最大取值 说明
Binary(n)
N+4 N∈[1,8000] 输入不足n+4字节,补足后 存储;超过则截断后存储. 存储空间固定 默认为1 默认为1 长度存储;超过则截断后 存储.
23
3.3 创建数据表
设置列的标识属性时,应注意: – 该列的数据类型必须是decimal, int, numeric, smallint, bigint, tinyint中的一种,才可以设置标识属性。 – 标识列不允许为空值,也不能包含默认属性。
– 每个表中只允许有一个标识列,并且不可以修改。
设置计算列时,应注意: – 在计算列中不能添加如primary key、 unique、 foreign key、 default等约束条件。 – 不能对计算列进行赋值。
nchar(n)
nvarchar(n) 按变长存储字 ntext
230-1个字节
8
3.2 SQL Server 2005数据类型
4.日期时间型数据 功能:用于存储日期和时间数据。
类型 存储范围
datetime
smalldatetime
存储从1753年1月1日到9999年12月31日的日期和时 间数据,精确度为3%秒。
28
3.4.1修改表结构
2)语法注释:
• ALTER COLUMN:修改表列属性的子句 • ADD:增加列或约束的子句 • DROP COLUMN:删除表列的子句
19
3.3 创建数据表
例2:创建带有参照约束的学生表stud_info,学生表的表结构定义如 下表所示。‚学号‛字段为学生表的主键。
字段名 学号 姓名 性别 出生年月 籍贯 家庭住址 电话 所属班级 字段数据类型 char char char datetime varchar varchar char char 长度 8 10 2 8 20 60 15 8 是否为空 否 否 是 是 是 是 是 是 默认值‘ 男’ 约束 主键
字段,则系统会用两个字节来存储这些字段。
14
第3章 管理数据表
3.1 SQL Server表的概念
3.2 SQL Server中的数据类型
3.3 创建数据表
3.4 管理数据表
15
3.3 创建数据表
1.使用SSMS创建表 创建表的步骤: 1)定义表结构:给表的每一列取字段名,并确定每一列的数 据类型、数据长度、列数据是否可以为空等。 2)设置约束:设置约束是为了限制该列输入值的取值范围,
p指定存储数据的最大位 -1038+1 ~ 1038-1 数,不含小数点,p∈[1, 38];s指定存储的小数的 最大位数, s∈[0,p]. 默认小数位是0。
11
3.2 SQL Server 2005数据类型
7.近似数值类型 功能:用于存储浮点数。
类型
float(n) real
说明
数据范围
n为精度,n∈[1, 存放-1.79E+308~1.79E+308数值 53] 范围内的浮点数 存储大小为4个字 从 -3.40E + 38 到 3.40E + 38 之 节 间的浮点数字数据