SQL数据定义功能

合集下载

关系数据库标准语言SQL

关系数据库标准语言SQL
该系统将待传输的数字电信号直接在光源的发光过程中 进行调制,使光源发出的光本身就是已调制光,又称为 内调制光纤通信系统。目前广泛采用。
(2)外调制光纤通信系统
该系统是在光源发出光之后,在光的输出通路上加调制 器(如电光晶体等)进行调制,又称为间接调制光纤通 信系统。
(3)外差光纤通信系统
该系统又称为相干光通信系统。在研制中。
SQL
视图1
视图2
外模式
基本表1
基本表2
存储文件1
基本表3
基本表4 模 式
存储文件2
内模式
4.2 网上书店数据库
为此定义网上书店数据库,其中包括5个表 用户表:USER1(ID,NAME,PASSWORD,ADDRESS,
POSTCODE,EMAIL,HOMEPHONE,CELLPHONE, OFFICEPHONE) 图书类型表:SORTKIND(ID,NAME) 图书表:PRODUCT(ID,NAME,DESCRIPTION, PRICE,IMG,ZUOZHE,SORTKIND_ID) 订单表:USER1_ORDER(ID,STATUS,COST,DATE, USER1_ID) 订单条目表:ORDER_ITERM(ID,AMOUNT, PRODUCT_ID,ORDER_ID) 关系的主码加下划线表示。
第4章 关系数据库标准语言SQL
本章主要内容
由于SQL语言的标准化,所以大多数关系型数据库系 统都支持SQL语言,它已经发展成为多种平台进行交 互操作的底层会话语言,成为数据库领域中一个主 流语言。这一章将详细介绍SQL的核心部分:数据定 义、数据查询、数据更新和嵌入式SQL。
本章学习目标
熟练掌握SQL语言的数据定义、数据查询、数据更新 功能

第6讲SQL语言基础及数据定义功能

第6讲SQL语言基础及数据定义功能

3、简洁易用
SQL功能极强,完成核心功能只需9个动词。
表 3.1 SQL 语言的动词 SQL 功 能 数 据 查 询 数 据 定 义 数 据 操 纵 数 据 控 制 动 词 SELECT CREATE, DROP, ALTER INSERT,UPDATE DELETE GRANT,REVOKE
4、面向集合的操作方式
PRIMARY KEY ( Sno, Cno ),
FOREIGN KEY ( Sno ) REFERENCES Student ( Sno ), FOREIGN KEY ( Cno ) REFERENCES Course ( Cno ) )
二、删除表
删除表的语句格式为: DROP TABLE <表名> 例:删除test表的语句为: DROP TABLE test { [, <表名> ] „ }
课程号 Cno 1 2 3 4 5 6 7
课程名 Cname 数据库 数学 信息系统 操作系统 数据结构 数据处理 PASCAL语言
先行课 Cpno 5 1 6 7 6
学分 Ccredit 4 2 4 3 4 2 4
4、SC表数据
学号 Sno 200215121 200215121 200215121 200215122 200215122
第6讲 SQL语言基础及数据定义功能

本讲内容
1 2 3 4
SQL概述
学生课程数据库简介
SQL语言功能概述
数据定义
6.1 SQL概述
SQL(Structured Query Language)
结构化查询语言,是关系数据库的标准语言 SQL是一个通用的、功能极强的关系数据库语言 现在所有的关系数据库管理系统都支持SQL,就连 个人计算机上使用的数据库也不例外。

数据库第4章 SQL语言基础及数据定义功能

数据库第4章 SQL语言基础及数据定义功能

第4章SQL语言基础及数据定义功能用户使用数据库时需要对数据库进行各种各样的操作,如查询数据,添加、删除和修改数据,定义、修改数据模式等。

DBMS必须为用户提供相应的命令或语言,这就构成了用户和数据库的接口。

接口的好坏会直接影响用户对数据库的接受程度。

数据库所提供的语言一般局限于对数据库的操作,它不是完备的程序设计语言,也不能独立地用来编写应用程序。

SQL(Structured Query Language,结构化查询语言)是用户操作关系数据库的通用语言。

虽然叫结构化查询语言,而且查询操作确实是数据库中的主要操作,但并不是说SQL只支持查询操作,它实际上包含数据定义、数据查询、数据操作和数据控制等与数据库有关的全部功能。

SQL已经成为关系数据库的标准语言,所以现在所有的关系数据库管理系统都支持SQL。

本章将主要介绍SQL语言支持的数据类型以及定义基本表和索引的功能。

4.1 SQL语言概述SQL语言是操作关系数据库的标准语言,本节介绍SQL语言的发展过程、特点以及主要功能。

4.1.1 SQL语言的发展最早的SQL原型是IBM的研究人员在20世纪70年代开发的,该原型被命名为SEQUEL (Structured English QUEry Language)。

现在许多人仍将在这个原型之后推出的SQL语言发音为“sequel”,但根据ANSI SQL委员会的规定,其正式发音应该是“ess cue ell”。

随着SQL语言的颁布,各数据库厂商纷纷在其产品中引入并支持SQL语言,尽管绝大多数产品对SQL语言的支持大部分是相似的,但它们之间还是存在一定的差异,这些差异不利于初学者的学习。

因此,我们在本章介绍SQL时主要介绍标准的SQL语言,我们将其称为基本SQL。

从20世纪80年代以来,SQL就一直是关系数据库管理系统(RDBMS)的标准语言。

最早的SQL标准是1986年10月由美国ANSI(American National Standards Institute)颁布的。

《数据库系统概论》SQL语言复习题(含答案)

《数据库系统概论》SQL语言复习题(含答案)

SQL语言习题一、单项选择题1.SQL语言是的语言,易学习。

A.过程化B.非过程化C.格式化D.导航式答案:B2.SQL语言是语言。

A.层次数据库B.网络数据库C.关系数据库D.非数据库答案:C3.SQL语言具有的功能。

A.关系规范化、数据操纵、数据控制B.数据定义、数据操纵、数据控制C.数据定义、关系规范化、数据控制D.数据定义、关系规范化、数据操纵答案:B4.SQL语言的数据操纵语句包括SELECT,INSERT,UPDATE和DELETE等。

其中最重要的,也是使用最频繁的语句是。

A.SELECT B.INSERT C.UPDA TE D.DELETE答案:A5.SQL语言具有两种使用方式,分别称为交互式SQL和。

A.提示式SQL B.多用户SQL C.嵌入式SQL D.解释式SQL答案:C6.SQL语言中,实现数据检索的语句是。

A.SELECT B.INSERTC.UPDATE D.DELETE答案:A7.下列SQL语句中,修改表结构的是。

A.ALTER B.CREATEC.UPDATE D.INSERT答案:A第8到第11题基于这样的三个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。

8.检索所有比“王华”年龄大的学生姓名、年龄和性别。

正确的SELECT语句是。

A.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGE FROM SWHERE SN=’王华’)B.SELECT SN,AGE,SEX FROM SWHERE SN=’王华’C.SELECT SN,AGE,SEX FROM SWHERE AGE>(SELECT AGEWHERE SN=’王华’)D.SELECT SN,AGE,SEX FROM SWHERE AGE>王华.AGE答案:A9.检索选修课程“C2”的学生中成绩最高的学生的学号。

SQL的数据定义功能

SQL的数据定义功能

• ቤተ መጻሕፍቲ ባይዱ如:ALTER TABLE S ADD ADDRESS CHAR(30);
该例为S表增加了一个ADDRESS(地址)列。
尽管SQL提供了为一个表增加一列的语句, 它并没有提供删除表的列、改变列名或改变列 的数据类型的语句。因此,如果要这么做,那 就必须生成一个新的表。
1.1 基本表的定义、修改和删除
• 视图名是要定义的视图的名字,同表名一样,要经 常用到。
• 语句中的SELECT语句作为子查询将以虚拟表的形 式得出结果。SELECT子查询中不能使用ORDER BY子句,也不能包含UNION(合并有类似结构的 表的关系代数并操作符)操作,子句FROM <表名 >中的表名既可以是表,也可以是视图,即视图既 可以根据表,也可以根据其他视图来定义。
数据。 • 视图机制对机密数据提供了自动的安全保护功能。
1.3 索引
• 索引是关系数据库非常重要的部分。它们被用作包含所关心 数据的表指针。通过一个索引,能从表中直接找到一个特定 的记录,而不必连续顺序地扫描这个表,一次一个记录地去 查找。对于大的表来说,索引是必要的。没有索引,要想得 到一个结果可能要等好几个小时、好几天,而不是几秒钟时 间。
1.1 基本表的定义、修改和删除
• 定义基本表的语句格式 CREATE TABLE <表名>(<列名1> < 数据类型1> [NOT NULL] [,<列名2> <数据类型2> [NOT NULL]……])
[其他参数];
其中CREATE TABLE后跟要定义的表 的名称,列名和数据类型中给出表的逻辑 数据结构定义,即表中的列命名、数据类 型选择并给出是否允许空值。各列名信息 之间用逗号相隔,列名与类型说明之间、 类型说明与是否允许空值之间用空格相隔。 任选项“其他参数”与具体系统有关,这 里不作说明。

SQL的数据定义功能

SQL的数据定义功能

SQL的数据定义功能SQL的数据定义功能是指创建和管理数据库的结构和对象的能力。

它允许用户定义表、视图、索引、存储过程、触发器和其他数据库对象的结构和属性。

在这篇文章中,我们将探讨SQL中的数据定义功能,并详细介绍它们的用途和示例。

数据定义语言(DDL)是SQL的一部分,它包含了一组用于定义数据库结构的命令。

以下是SQL中最常用的DDL命令。

1.CREATE:CREATE命令用于创建数据库对象,如表、视图、索引、存储过程等。

它允许用户指定对象的名称、列名和属性。

例如,下面的示例创建了一个名为"customers"的表,该表包含了"id"、"name"和"email"三个列。

```CREATE TABLE customersid int,name varchar(50),email varchar(100)```2.ALTER:ALTER命令用于修改数据库对象的结构,如添加、删除或修改列、约束等。

例如,下面的示例向上面创建的"customers"表中添加了一个"phone"列。

```ALTER TABLE customersADD COLUMN phone varchar(15);```3.DROP:DROP命令用于删除数据库对象。

例如,下面的示例删除了上面创建的"customers"表。

```DROP TABLE customers;```4.TRUNCATE:TRUNCATE命令用于删除表中的所有数据。

例如,下面的示例删除了上面创建的"customers"表中的所有数据,但保留表的结构。

```TRUNCATE TABLE customers;```5.CREATEVIEW:CREATEVIEW命令用于创建一个虚拟表,该表是从一个或多个基本表导出的查询结果。

第5章 SQL语言

第5章 SQL语言

二、 VF中的SQL命令动词
SQL功能 数据定义 数据更新
命令动词 Create、Drop、alter Insert、update、 Delete
数据查询 select
二、VF中的SQL命令动词
命令动词
select
alter create Insert update Delete Drop
主要功能
功能:用于修改字段的类型、宽度、有效性规则、错误信息 和默认值等。 例:alter table 学生 alter 年龄 drop check
alter table 学生 alter 年龄 D alter table 学生 alter 性别 set default "女"
二、修改表结构
格式3: Alter table 表名 [drop column 字段名] [set check 记录有效性规则 [error 错误提示信息]] [drop check] [add primary key 主索引表达式 tag 主索引名] [drop primary key] [add unique 候选引表达式 tag 候选索引名] [drop unique tag 候选索引名] [add FORE KEY 普通索引表达式 TAG 普通索引名 refe 主表名] [drop fore key tag 候选索引名] [rename column 原字段名 to 新字段名] 功能:用于删除字段、重命名字段名、增加、删除记录有效性规则、主
若有percent参数,则为百分比,n取值为0.01- 99.99 。
目标列
指定包括在查询结果中的项,每一项在查询结果中都
生成一列。可以为:字段名、常量、表达式。如果包 括所有字段,可使用*号。可以为SQL计算函数: AVG(字段名)、SUM(字段名)、 MAX(字段名)、 MIN(字段名)、 COUNT(*)、COUNT(字段名)

SQL语言-数据类型+数据定义

SQL语言-数据类型+数据定义

例4.15 给book_manage 数据库中添加一个数据文件。 alter database book_manage add file ( name = book_manage_second, filename="c:\mydatabase\newfile.sdf" ) 例4.15 删除book_manage 数据库中的次要数据文件 alter database book_manage remove file book现方式做保护处理对用户上传分享的文档内容本身不做任何修改或编辑并不能对任何下载内容负责
第4讲 SQL语言
4.1 SQL概述 (P21教材2.1-2.2)
4.1 SQL概述
• SQL(Structured Query Language)
结构化查询语言,是关系数据库的标准语言
MAXSIZE:指定 文件可以增长到的最大大小。 可以使用千字节 (KB)、兆字节 (MB)、千兆字节 (GB) 或兆兆字节 (TB) 为单位。默认为 MB。指定一个整 数,不要包含小数位。如果没有指定 max_size,那么 文件将增长到磁盘变满为止。 UNLIMITED:指定文件将增长无上限,到磁盘变满 为止。
1.创建及修改数据库 (1) 创建新数据库 基本语法如下: CREATE DATABASE database_name [ ON [ PRIMARY ] [< filespec > [ ,...n ] ] ] [ LOG ON { < filespec > [ ,...n ] } ] 其中< filespec > 语法如下:
(2) 用系统存储过程显示数据库结构 可以使用系统提供的系统存储过程sp_helpdb 来显示 数据库信息,其语法如下: sp_helpdb [[@dbname=] 'name']

数据库系统原理教程课后习题及答案(第三章)汇编

数据库系统原理教程课后习题及答案(第三章)汇编

第3章关系数据库标准语言SQL1 .试述sQL 语言的特点。

答:(l)综合统一。

sQL 语言集数据定义语言DDL 、数据操纵语言DML 、数据控制语言DCL 的功能于一体。

(2)高度非过程化。

用sQL 语言进行数据操作,只要提出“做什么”,而无需指明“怎么做”,因此无需了解存取路径,存取路径的选择以及sQL 语句的操作过程由系统自动完成。

(3)面向集合的操作方式。

sQL 语言采用集合操作方式,不仅操作对象、查找结果可以是元组的集合,而且一次插入、删除、更新操作的对象也可以是元组的集合。

(4)以同一种语法结构提供两种使用方式。

sQL 语言既是自含式语言,又是嵌入式语言。

作为自含式语言,它能够独立地用于联机交互的使用方式;作为嵌入式语言,它能够嵌入到高级语言程序中,供程序员设计程序时使用。

(5)语言简捷,易学易用。

2 .试述sQL 的定义功能。

sQL 的数据定义功能包括定义表、定义视图和定义索引。

SQL 语言使用cREATE TABLE 语句建立基本表,ALTER TABLE 语句修改基本表定义,DROP TABLE 语句删除基本表;使用CREATE INDEX 语句建立索引,DROP INDEX 语句删除索引;使用CREATE VIEW 语句建立视图,DROP VIEW 语句删除视图。

3 .用sQL 语句建立第二章习题5 中的4 个表。

答:对于S 表:S ( SNO , SNAME , STATUS , CITY ) ;建S 表:CREATE TABLE S ( Sno C(2) UNIQUE,Sname C(6) ,Status C(2),City C(4));对于P 表:P ( PNO , PNAME , COLOR , WEIGHT );建P 表:CREATE TABLE P(Pno C(2) UNIQUE,Pname C(6),COLOR C(2),WEIGHT INT);对于J 表:J ( JNO , JNAME , CITY);建J 表:CREATE TABLE J(Jno C(2) UNlQUE,JNAME C(8),CITY C(4))对于sPJ 表:sPJ ( sNo , PNo , JNo , QTY);建SPJ 表:SPJ(SNO,PNO,JNO,QTY)CREATE TABLE SPJ(Sno C(2),Pno C(2),JNO C(2),QTY INT))4.针对上题中建立的4 个表试用sQL 语言完成第二章习题5 中的查询。

第3章 SQL语言基础及数据定义功能

第3章 SQL语言基础及数据定义功能

Create Table SC (学号 char(7) References S(学号), 课程号 char(2) Not Null, 成绩 smallint Check(成绩>=0), Primary Key(学号, 课程号) Foreign Key(课程号) References C(课程号) ) (2)删除数据表 格式:Drop Table 表名, … 功能:删除数据表。 例:删除数据表text,语句为 Drop Table text
(3)删除数据库 格式:Drop DataBase 数据库名 功能:删除指定数据库。 例:删除学生管理数据库student 。 Drop DataBase student 3.3.1 数据表建立和删除 (1)建立数据表 格式:Create Table 数据表名 (列名 类型 [完整性约束] ,… [,完整性约束])
SQL语言的命令动词 SQL功能
数据查询 数据定义 数据操纵 数据控制 SELECT CREATE、DROP、ALTER INSERT、UPDATE、DELETE GRANT、REVOKE
命令动词
P27表3-1
3.2 SQL数据类型
在定义表结构时,每个字段都要指明它的数据类 型,SQL提供了丰富的数据类型。 每个数据类型都有它的特点和取值范围,用户使 用时可以根据实际需要进行选择。 3.2.1 数值型 1. 准确型 指在计算机中能精确存储的数据类型。 有bigint、int、smallint、tinyint、bit、nume ric(p,q)、decimal(p,q)等。
3.3.2 修改表结构 格式:Alter Table 表名 [Alter Column 列名 新类型 |Add 新列名 类型 [完整性约束] |Drop Column 列名] 功能:修改列类型、添加新列、删除列。 例2:为表SC添加新列修课类别。 Alter Table SC Add 修课类别 char(4) 例3:修改表SC中修课类别的类型。 Alter Table SC Alter Column 修课类别 char(6)

SQL语言习题参考答案

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 =。

07_SQL-数据定义及操纵-25

07_SQL-数据定义及操纵-25

INTO子句 指定要插入数据的表名及属性列,属性列的顺序可与表定义中 的顺序不一致。 若未指定属性列:表示要插入的是一条完整的元组,且属性 若未指定属性列 列属性与表定义中的顺序一致。否则,若指定部分属性列 若指定部分属性列: 若指定部分属性列 插入的元组在其余属性列上取空值 VALUES子句 提供的值必须与INTO子句匹配
SQL数据定义语言
例:建立一个“学生选课”表SC,它由学号 Sno、课程号Cno,修课成绩Grade组成,其 中(Sno, Cno)为主码。
CREATE TABLE SC( Sno CHAR(7) , Cno CHAR(4) , Grade int, Primary key (Sno, Cno), Foreign key (Sno) References student(Sno), Foreign key (Cno) References Course(Cno));
Ssm
SQL数据定义语言
例:创建一个学生表 建立一个“学生”表Student,它由学号Sno、姓名 Sname、性别Ssex、年龄Sage、所在系Sdept五个 属性组成。其中学号不能为空,值是唯一的,并且姓 名取值也唯一。
CREATE TABLE Student( Sno CHAR(9) NOT NULL UNIQUE, Sname CHAR(20) UNIQUE, Ssex CHAR(2), Sage NUMERIC(2,0), Sdept CHAR(20) );
ALTER TABLE student DROP unique(sname);
Ssm
数据操纵语言
插入数据 两种插入数据方式
¤ 插入单个元组 ¤ 插入子查询结果(参见子查询内容)
Ssm

vfp第6章

vfp第6章
12
6.4 SQL数据查询功能 6.4.3 联接查询
Page 130
【例6-10】查询学生不及格课程的成绩情况,要 求显示姓名、课程名和成绩。 SELECT xs.xm AS 姓名, kc.kcm AS 课程名, cj.cj AS 成绩; FROM student!xs INNER JOIN student!cj INNER JOIN student!kc ; ON cj.kcbh = kc.kcbh ON xs.xh = cj.xh WHERE cj.cj<60
16
6.4 SQL数据查询功能 6.4.4 排序与分组查询
Page 131
【例6-14】查询全校各个系院的工资情况,要求输 出的字段为:系院名称、平均工资、最低工资和最 高工资,按平均工资降序排序,平均工资相同的按 最高工资升序排序。 SELECT xy.xymc AS 系院名称, AVG(js.jbgz) AS 平均工资,MIN(js.jbgz) AS 最低工资, ; MAX(js.jbgz) AS 最高工资; FROM student!js ; GROUP BY js.xybh ; ORDER BY 2 DESC, 4
Page 129
10
6.4 SQL数据查询功能 6.4.3 联接查询
【例6-8】查询计算机学院学生党员的 情况。 SELECT * FROM student!xy INNER JOIN student!xs ON xy.xybh = xs.xybh WHERE xy.xymc = “计算机学院” AND xs.dyf= .T.
第 六 章


6.1 SQL概述
6.2 SQL数据定义功能


6.3 SQL数据操纵功能

第四章 结构化查询语言SQL

第四章 结构化查询语言SQL

CREATE TABLE 学生
(学号 C(12), 姓名 C(8), 性别 L, 出生年月 D, 评分 N(3, 0))
二、修改数据表
1. 添加字段
ALTER TABLE <表文件名> 命令 ADD <字段名> <字段类型>[(<字段长度>[,<小数位数>])]
功能 在表中添加新字段。
[e.g. 4-2] 在学生.dbf中,添加新字段备注 M。
求记录的个数 按列求值的个数 按列求和(用于数值列)
按列求平均值(用于数值列) 求一列中的最大值 求一列中的最小值
[e.g. 4-16]在选课.dbf中查询课程号为“C120”的记录,输出 课程号和选修该课程的人数。
SELECT 课程号, COUNT(*) AS 选修人数 FROM 选课 WHERE 课程号="C120"
五、查询排序 SQL使用ORDER BY子句对查询结果进行排序。
排序选项 ASC DESC
功能 升序排列(默认值) 降序排列
[e.g. 4-20]在选课.dbf中查询选修了课程“C130” 并且成绩 最高的3名学生的记录,输出学号和成绩。
SELECT TOP 3 学号, 成绩 FROM 选课 WHERE 课程号="C130" ORDER BY 成绩 DESC
4.确定集合 使用“IN”进行集合查询。 [e.g. 4-14] 在选课.dbf中查询选修课程“C120”或“C140”的 学生记录。 SELECT * FROM 选课 WHERE 课程号 IN ("C120", "C140") SELECT * FROM 选课 WHERE 课程号="C120" OR 课程号="C140"

SQL的功能与特点

SQL的功能与特点

存储文件S1 Store file 存储文件S1
存储文件S2 存储文件S2
存储文件S3 存储文件S3
存储文件S4 存储文件S4
SQL的特点 三、SQL的特点
1、工作方式 交互式命令方式:在联机终端上, 交互式命令方式:在联机终端上,通过直接 输入SQL命令对数据库进行操作; 输入SQL命令对数据库进行操作; 命令对数据库进行操作 嵌入式工作方式:通过嵌入到高级语言程序 嵌入式工作方式: 中实现对数据库的操作。 中实现对数据库的操作。
2、SQL支持数据库的三级模式结构 SQL支持数据库的三级模式结构
SQL用户 SQL用户
用户SQL 用户SQL
用户SQL 用户SQL
用户3 用户3
用户4 用户4
View
视图V1 视图V1
视图V2 视图V2
Base table
基本表B1 基本表B1
基本表B2 基本表B2
基本表B3 基本表B3来自基本表B4 基本表B4
SQL的产生和发展 的产生和发展( 一、SQL的产生和发展(续)
1986年10月 美国国家标准化协会(ANSI)发布了 1986年10月,美国国家标准化协会(ANSI)发布了 ANSI文件 ANSI文件X3.135-1986《数据库语言SQL》,1987年6 文件X3.135-1986《数据库语言SQL》 1987年 月国际标准化组织(ISO)采纳其为国际标准 采纳其为国际标准。 月国际标准化组织(ISO)采纳其为国际标准。——— “SQL86” 。 SQL86” 1989年10月——“SQL89” 1989年10月——“SQL89”; 1992年 1992年8月——“SQL2(SQL92)”标准。 ——“SQL2(SQL92)”标准。 1999年——“SQL3(SQL99)” 1999年——“SQL3(SQL99)”。 SQL成为国际标准后,由于各种类型的计算机和DBS都 SQL成为国际标准后,由于各种类型的计算机和DBS都 成为国际标准后 采用SQL作为其存取语言和标准接口 从而使数据库世界 作为其存取语言和标准接口, 采用SQL作为其存取语言和标准接口,从而使数据库世界 有可能链接为一个统一的整体,这个前景意义十分重大。 有可能链接为一个统一的整体,这个前景意义十分重大。

2022年天津财经大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)

2022年天津财经大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)

2022年天津财经大学计算机科学与技术专业《数据库原理》科目期末试卷B(有答案)一、填空题1、SQL语言的数据定义功能包括______、______、______和______。

2、数据库系统在运行过程中,可能会发生各种故障,其故障对数据库的影响总结起来有两类:______和______。

3、有两种基本类型的锁,它们是______和______。

4、____________、____________、____________和是计算机系统中的三类安全性。

5、主题在数据仓库中由一系列实现。

一个主题之下表的划分可按______、______数据所属时间段进行划分,主题在数据仓库中可用______方式进行存储,如果主题存储量大,为了提高处理效率可采用______方式进行存储。

6、某事务从账户A转出资金并向账户B转入资金,此操作要么全做,要么全不做,为了保证该操作的完整,需要利用到事务性质中的_____性。

7、在SELECT命令中,______子句用于选择满足给定条件的元组,使用______子句可按指定列的值分组,同时使用______子句可提取满足条件的组。

8、设有关系模式R(A,B,C)和S(E,A,F),若R.A是R的主码,S.A是S的外码,则S.A的值或者等于R中某个元组的主码值,或者______取空值,这是规则,它是通过______和______约束来实现的。

9、在数据库系统封锁协议中,一级协议:“事务在修改数据A前必须先对其加X锁,直到事务结束才释放X锁”,该协议可以防止______;二级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,读完后即可释放S锁”,该协议可以防止______;三级协议是在一级协议的基础上加上“事务T在读数据R之前必须先对其加S锁,直到事务结束后才释放S锁”,该协议可以防止______。

10、在SELECT命令中进行查询,若希望查询的结果不出现重复元组,应在SEL ECT语句中使用______保留字。

结构化查询语言SQL(2)——数据定义语言

结构化查询语言SQL(2)——数据定义语言

例2:建立一个“学生”表Student,它由学号 :建立一个“学生” ,它由学号Sno、姓名 、姓名Sname、 、 性别Ssex、年龄 五个属性组成。 性别 、年龄Sage、所在系 、所在系Sdept五个属性组成。其中学号不 五个属性组成 能为空,姓名取值唯一。 能为空,姓名取值唯一。 CREATE TABLE Student(Sno CHAR(5) NOT NULL, ( ( ) Sname CHAR(8)UNIQUE, ( ) 表名 Ssex CHAR(2), 数据类型 ( ) Sage INT, 列名(字段名) 列名(字段名) Sdept CHAR(20)); ( ));
SQL的数据定义语句 的数据定义语句
操作对象 表 视图 索引
操作方式 创建 create table create view create index 删除 drop table drop view drop index 修改 alter table
定义数据库 创建、 创建、修改和撤消数据库 定义基本表 定义、 定义、修改与删除基本表 定义索引 建立与删除索引
例6:建立一个“成绩”表chengji,它由学号 、课程号 :建立一个“成绩” ,它由学号sno、课程号cno、 、 成绩cj三个属性组成 定义此表并定义相应的主键和外键。 三个属性组成。 成绩 三个属性组成。定义此表并定义相应的主键和外键。 CREATE TABLE chengji (sno CHAR(5), cno CHAR(3), cj INT, primary key (sno,cno), foreign key (sno) references student(sno), foreign key (cno) references cullum(cno) );

SQL的数据定义语言(DDL)

SQL的数据定义语言(DDL)
EDA技术及其应用
SQL的数据定义语言(DDL)
SQL的数据定义功能包括定义模式、定义基本表、定义视图、 定义索引。
1.1 定义模式
1)模式的创建
在SQL中,一个模式定义为基本表的集合。模式由模式名和模式拥有 者的用户名或账号来确定,并包含模式中每一个元素(基本表、视图、 索引等)的定义。创建一个模式,可以理解为建立一个数据库,或定 义一个存储空间,其句法是
实例
CREATE TABLE Table_Student ( StudentID varchar (12) NOT NULL, CardID varchar(8), Sname varchar(8) , School varchar(8) NOT NULL, Sex char(1) CHECK ( Sex in ('M','F')), PRIMARY KEY (StudentID), FOREIGN KEY (CardID) REFERENCES Table_Card(CardID));
1.2 定Байду номын сангаас基本表
3)基本表的修改
在基本表建立使用一段时间后,可能由于分析设计不到位或应用需求的不断变化 等原因,需要对基本表结构进行修改,比如新增列和完整性约束、修改原有的列 定义和完整性约束定义等。
SQL语言使用ALTER TABLE 命令来完成这一功能,其基本格式为:
1.2 定义基本表
实例
CREATE TABLE Table_Card ( CardID varchar(8) PRIMARY KEY, Password varchar(8) NOT NULL, StartDate datetime NOT NULL, EndDate datetime , State char(1) NOT NULL CHECK (State in ('0','1','2')), Balance money NOT NULL CHECK (Balance>=0 ), CHECK (StartDate<EndDate));
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程号 Cno 1 2 3 4 5 课程名 Cname 数据库 数学 信息系统 操作系统 数据结构 1 6 7 先行课 Cpno 5 学分 Ccredit 4 2 4 3 4
6 7
数据处理 PASCAL语言 6
2 4
SC ( Sno , Cno , Grade )
数据示例
SC
学 号 Sno 95001 95001 95001 95002 95002 课程号 Cno 1 2 3 2 3 成 绩 Grade 92 85 88 90 80
2. 高度非过程化
用SQL进行数据操作,只要提出“做什么”,而无 须指明“怎么做”,因此无须了解存取路径。
3. 面向集合的操作方式
独立语言和嵌入式语言
操作的对象及结果都是元组的集合
4. 以同一种语法结构提供两种使用方法 5. 语言简洁,易学易用
功能强、完成核心功能只用了9个动词。
核心功能只有9个动词
CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY , Cname CHAR(40) , Cpno CHAR(4) , Ccredit SMALLINT );
[例] 建立一个“学生选课”表SC, 它由学号Sno、课程号Cno,修课 成绩Grade组成,其中(Sno, Cno) 为主码。
学 号 Sno 95001 姓 名 Sname 李勇 性 别 Ssex 男 年 龄 Sage 20 所在系 Sdept CS
95002
95003 95004
刘晨
王敏 张立

女 男
19
18 19
IS
MA IS
Course ( Cno , Cname , Cpno , Ccredit )
数据示例
Course
<表名>:要修改的基本表 ADD子句:增加新列和新的完整性约束条件 DROP子句:删除指定的完整性约束条件 ALTER COLUMN子句:用于修改列名和数据类型
修改基本表举例
不论基本表中原来是否 已有数据,新增加的列 一律为空值。
[例]向Student中增加“入学时间”列
ALTER TABLE Student ADD S_entrance DATE;
INT
SMALLINT
DECIMAL(p[, s])
REAL(n)
FLOAT(n)
DATE TIME TIMESTAMP
(双字长浮点数)取决于机器精度的浮点数
(四字长浮点数)精度至少为n的浮点数 日期型,格式为YYYY―MM―DD 时间型,格式为HH.MM.SS 日期加时间
[例] 建立一个“学生”表Student,它由学号 Sno、学生姓名Sname、性别Ssex、年龄 Sage、所在系Sdept组成,其中Sno为主码。
SQL的动词
SQL功能 数据查询 数据定义 SELECT CREATE,DROP,ALTER 动词
数据操纵
数据控制
INSERT,UPDATE,DELETE
GRANT,REVOKE
学生课程数据库 Student(Sno , Sname , Ssex , Sage , Sdept)
数据示例
Student
SQL概述
SQL(Structured Query Language), 即结构化查询语言,是关系数据库的标 准语言, SQL是一个通用的、功能极强 的关系数据库语言。其功能并不仅仅是 查询。当前,几乎所有的关系数据库系 统软件都支持SQL,许多软件厂商对SQL 基本命令集还进行了不同程度的扩充和 修改。
CREATE TABLE SC ( Sno CHAR(9) , Cno CHAR(4) , Grade SMALLINT, PRIMARY KEY (Sno, Cno)
);
修改基本表
(1)语句格式 ALTER TABLE <表名> [ ADD <新列名> <数据类型> [ 完整性约束 ] ] [ DROP <完整性约束名> ] [ALTER COLUMN <列名> <数据类型> ]
基本表的定义、删除与修改
1.定义基本表
CREATE TABLE <表名>
(<列名> <数据类型>[ <列级完整性约束条件> ] [,<列名> <数据类型>[ <列级完整性约束条件>] ] … [,<表级完整性约束条件> ] ); <表名>:所要定义的基本表的名字 <列名>:组成该表的各个属性(列) <列级完整性约束条件>:涉及相应属性列的完整性约 束条件 <表级完整性约束条件>:涉及一个或多个属性列的完 整性约束条件
定义基本表(续)
常用完整性约束 主码约束: PRIMARY KEY 唯一性约束:UNIQUE 非空值约束:NOT NULL
定义基本表(续)
数据类型
数据类型
CHAR(n) VARCHAR(n) 长度为n的定长字符串 Nhomakorabea含义
最大长度为n的变长字符串
长整数 短整数 定点数, 共p位(不包括符号、 小数点), 或NUMERIC(p[,s])其中小数点后s位, s=0时可省略
SQL的产生与发展
SQL是在1974年提出,并在IBM公司研制 的关系数据库管理系统原型System R上实 现。 由于SQL简单易学,功能丰富,深受用户及 计算机工业界欢迎,因此被数据库厂商所采 用。 SQL作为国际标准语言已成为数据库领域中 的主流语言。
SQL的特点
1. 综合统一
SQL集数据定义、数据操纵、数据控制功能于一体
休息一会儿。。。
CREATE TABLE Student ( Sno CHAR(9) PRIMARY KEY , Sname CHAR(20) UNIQUE , Ssex CHAR(2) , Sage SMALLINT , Sdept CHAR(20) );
[例] 建立一个“课程”表Course,它由课程号 Cno、课程名Cname、先行课号Cpno、学分 Ccredit组成,其中Cno为主码。
S_entrance ;
4.删除基本表
DROP TABLE < 表 [<CASCADE|RESTRICT>];
基本表删除

>
数据、表上的索引都删除
删除基本表时,系统会从数据字典中删去有 关该基本表及其索引的描述
[例] 删除基本表student drop table student ;
下课了。。。
[例]将年龄的数据类型由字符型改为整数 ALTER TABLE Student 修改原有的列定义有可 ALTER COLUMN Sage INT; 能会破坏已有数据 [例]增加课程名称必须取唯一值的约束条件
ALTER TABLE Course ADD UNIQUE(Cname);
修改基本表举例
[例] 删除student表中S_entrance属性列 ALTER TABLE Student Drop Column
相关文档
最新文档