精华内容
下载资源
问答
  • 数据库语言SQL

    千次阅读 2018-07-11 18:35:07
    数据库语言SQL SQL的发展 1974年,由Boyce和Chamberlin提出 1975~1979,IBM San Jose Research Lab的关系数据库管理系统原型System R实施了这种语言 SQL-86是第一个SQL标准 SQL-89、SQL-92(SQL2)、...

    数据库语言SQL

    SQL的发展

    1974年,由Boyce和Chamberlin提出

    1975~1979,IBM San Jose Research Lab的关系数据库管理系统原型System R实施了这种语言

    SQL-86是第一个SQL标准

    SQL-89、SQL-92(SQL2)、SQL-99(SQL3)

    非过程化语言

    SQL语言进行数据库操作时,只需要提出“做什么”,不需要指明“怎么做”。“怎么做”是由DBMS来完成

    SQL的形式

    交互式SQL

    • 一般DBMS都提供联机交互工具
    • 用户可直接键入SQL命令对数据库进行操作
    • 由DBMS来进行解释

    嵌入式SQL

    • 能将SQL语句嵌入到高级语言(宿主语言)
    • 使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力
    • 一般需要预编译,将嵌入的SQL语句转化为宿主语言编译器能处理的语句

    SQL语言主要组成部分

    数据定义语言(DDL,Data Definition Language)

    • 数据定义语言是指用来定义和管理数据库以及数据库中的各种对象的语句,这些语句包括CREATE、ALTER和DROP等语句。在SQL Server中,数据库对象包括表、视图、触发器、存储过程、规则、缺省、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用CREATE、ALTER、DROP等语句来完成。
    • 常见的数据类型
      • 字符型:
        • 定长字符型 char(n) 由于是定长,所以速度快
        • 变长字符型 varchar(n)
      • 数值型:
        • 整型 int(或integer) -231~+231
        • 短整型 smallint -215~+215的
        • 浮点型 real、float、double
        • 数值型 numeric (p [,d])
      • 日期/时间型:
        • DateTime
      • 文本和图像型
        • Text:存放大量文本数据。在SQLServer中,Text对象实际为一指针
        • Image:存放图形数据

    数据操纵语言(DML,Data Manipulation Language)

    • 数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括SELECT、INSERT、UPDATE、DELETE等。在默认情况下,只有sysadmin、dbcreator、db_owner或db_datawriter等角色的成员才有权利执行数据操纵语言。

    数据控制语言(DCL,Data Control Language)

    • 数据控制语言(DCL)是用来设置或者更改数据库用户或角色权限的语句,这些语句包括GRANT、REVOKE 、DENY等语句,在默认状态下,只有sysadmin、dbcreator、db_owner或db_securityadmin等角色的成员才有权利执行数据控制语言。

    SQL语句

    建立表结构 Create

    • 定义基本表的语句格式:
    • CREATE TABLE <表名>(<列定义>[{,<列定义>,<表约束>}])
    • 表名:
    • 列定义:列名、列数据类型、长度、是否允许空值等。
    • 定义完整性约束:列约束和表约束
    • [CONSTRAINT<约束名>] <约束定义>

    删除表结构 Drop

    • 用SQL删除关系(表)
      • 将整个关系模式(表结构)彻底删除
      • 表中的数据也将被删除

    修改表结构 Alter

    • 增加表中的属性
      • 向已经存在的表中添加属性
      • allow null (新添加的属性要允许为空)
      • 已有的元组中该属性的值被置为Null
    • 修改表中的某属性(某列)
      • 修改属性类型或精度
    • 删除表中的某属性(某列)
      • 去除属性及相应的数据

    向表中添加数据(Insert)

    • 数据添加
      • 用SQL的插入语句,向数据库表中添加数据
      • 按关系模式的属性顺序
      • 按指定的属性顺序,也可以只添加部分属性(非Null属性为必需)

    数据删除(Delete)

    • 只能对整个元组操作,不能只删除某些属性上的值
    • 只能对一个关系起作用,若要从多个关系中删除元组,则必须对每个关系分别执行删除命令
    • 删除单个元组
    • 删除多个元组
    • 删除整个关系中的所有数据

    数据更新(Update)

    • 改变符合条件的某个(某些)元组的属性值

    视 图 (VIEW)

    视图是从一个或者多个表或视图中导出的表,其结构和数据是建立在对表的查询基础上的。和真实的表一样,视图也包括几个被定义的数据列和多个数据行,但从本质上讲,这些数据列和数据行来源于其所引用的表。因此,视图不是真实存在的基础表而是一个虚拟表,视图所对应的数据并不实际地以视图结构存储在数据库中,而是存储在视图所引用的表中。

    创建视图

    视图的更新

    数据查询(Select)

    数据查询是数据库应用的核心功能

    Select子句——重复元组

    • SQL具有包的特性
    • Select 子句的缺省情况是保留重复元组( ALL ),可用 Distinct 去除重复元组
    • 去除重复元组:费时
    • 需要临时表的支持

    Select子句—— *与属性列表

    • 星号 * 表示所有属性
      • 星号 * :按关系模式中属性的顺序排列
      • 显式列出属性名:按用户顺序排列

    Select子句——更名

    • 为结果集中的某个属性改名
    • 使结果集更具可读性

    Where 子句

    • 查询满足指定条件的元组可以通过Where子句来实现
    • 使where子句中的逻辑表达式返回True值的元组,是符合要求的元组,将被选择出来
    • Where 子句——运算符
      • 比较:<、<=、>、>=、=、<> 等
      • 确定范围:
        • Between A and B、Not Between A and B
      • 确定集合:IN、NOT IN
      • 字符匹配:LIKE,NOT LIKE
      • 空值:IS NULL、IS NOT NULL
      • 多重条件:AND、OR、NOT
    • Where 子句——Like
      • 字符匹配:Like、Not Like
      • 通配符
      • % —— 匹配任意字符串
      • _ —— 匹配任意一个字符
      • 大小写敏感
    • Where 子句——转义符 escape

    From 子句

    • 列出将被查询的关系(表)
    • From 子句——元组变量
      • 为 From 子句中的关系定义元组变量
      • 方便关系名的引用
    • 连接子句
      • 内连接
        • 内连接是指包括符合条件的每个表的记录,也称之为全记录操作。
      • 外连接
        • 外连接是指把两个表分为左右两个表。右外连接是指连接满足条件右侧表的全部记录。左外连接是指连接满足条件左侧表的全部记录。全外连接是指连接满足条件表的全部记录。
        • 左外连接
        • 右外连接
        • 全外连接

    Order By子句

    • 指定结果集中元组的排列次序
    • 耗时
    • ASC升序(缺省)、DESC降序

    子查询(Subquery )

    • 子查询是嵌套在另一查询中的 Select-From-Where 表达式(Where/Having)
    • SQL允许多层嵌套,由内而外地进行分析,子查询的结果作为父查询的查找条件
    • 可以用多个简单查询来构成复杂查询,以增强SQL的查询能力
    • 子查询中不使用 Order By 子句,Order By子句只能对最终查询结果进行排序
    • 子查询——单值比较
      • 返回单值的子查询,只返回一行一列
      • 父查询与单值子查询之间用比较运算符进行连接
        • 运算符:>、>=、=、<=、<、 <>
    • 子查询——多值
      • 子查询返回多行一列
      • 运算符:In、All、Some(或Any)、Exists
        • 子查询——多值成员In
          • 若值与子查询返回集中的某一个相等,则返回true
            • IN 被用来测试多值中的成员
        • 子查询——多值比较 ALL
          • 父查询与多值子查询之间的比较用All来连接
          • 值s比子查询返回集R中的每个都大时,s>All R 为True
          • All表示所有
          • > all、< all、<=all、>=all、<> all
          • <> all 等价于 not in
        • 子查询——多值比较Some/Any
          • 父查询与多值子查询之间的比较需用Some/Any来连接
          • 值s比子查询返回集R中的某一个都大时返回 Ture
            • s > Some R为True 或
            • s > Any R为True
          • Some(早期用Any)表示某一个(任意一个)
          • > some、< some、<=some、>=some、<> some
          • = some 等价于 in、<> some 不等价于 not in
    • 子查询——存在判断Exists
      • Exists + 子查询用来判断该子查询是否返回元组
      • 当子查询的结果集非空时,Exists为True
      • 当子查询的结果集为空时,Exists为False
      • 不关心子查询的具体内容,因此用 Select *
      • 具有外部引用的子查询,称为相关子查询(Correlated Queries)
      • 外层元组的属性作为内层子查询的条件

    聚合函数

    • 把一列中的值进行聚合运算,返回单值的函数
    • 五个预定义的聚合函数
      • 平均值:Avg( )
      • 总和: Sum( )
      • 最小值:Min( )
      • 最大值:Max( )
      • 计数: Count( ) 返回所选列中不为NULL的数
    • Group By
      • 将查询结果集按某一列或多列的值分组,值相等的为一组,一个分组以一个元组的形式出现
      • 只有出现在Group By子句中的属性,才可出现在Select子句中
    • Having
      • 针对聚合函数的结果值进行筛选(选择),它作用于分组计算结果集
      • 跟在Group By子句的后面。
    • Having 与 Where的区别
      • Where 决定哪些元组被选择参加运算,作用于关系中的元组
      • Having 决定哪些分组符合要求,作用于分组
      • 聚合函数的条件关系必须用Having,Where中不应出现聚合函数
    • 聚合函数对Null的处理
      • Count:不计
      • Sum:不将其计入
      • Avg:具有 Null 的元组不参与
      • Max / Min:不参与

    索引

    数据库中的索引与书籍中的索引类似,在一本书中,利用索引可以快速查找所需信息,无须阅读整本书。在数据库中,索引使数据库程序无须对整个表进行扫描,就可以在其中找到所需数据。书中的索引是一个词语列表,其中注明了包含各个词的页码。而数据库中的索引是某个表中一列或者若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单

    索引的作用

    • 通过创建唯一索引,可以保证数据记录的唯一性。
    • 可以大大加快数据检索速度。
    • 可以加速表与表之间的连接,这一点在实现数据的参照完整性方面有特别的意义。
    • 在使用ORDER BY和GROUP BY子句中进行检索数据时,可以显著减少查询中分组和排序的时间。
    • 使用索引可以在检索数据的过程中使用优化隐藏器,提高系统性能

    聚集索引与非聚集索引

    • 聚集索引对表的物理数据页中的数据按列进行排序,然后再重新存储到磁盘上,即聚集索引与数据是混为一体的,它的叶节点中存储的是实际的数据
    • 非聚集索引具有完全独立于数据行的结构,使用非聚集索引不用将物理数据页中的数据按列排序。非聚集索引的叶节点存储了组成非聚集索引的关键字值和行定位器

    创建索引

    约束

    主键约束(primary key constraint)

    唯一性约束(unique constraint)

    检查约束(check constraint)

    缺省约束(default constraint)

    外部键约束(foreign key constraint)

    SQL SERVER权限管理

    SQL Server权限管理策略

    • 安全帐户认证
      • 安全帐户认证是用来确认登录SQL Server的用户的登录帐号和密码的正确性,由此来验证其是否具有连接SQL Server的权限。 SQL Server 2000提供了两种确认用户的认证模式:
        • (一)Windows NT认证模式。
          • SQL Server数据库系统通常运行在Windows NT服务器平台上,而NT作为网络操作系统,本身就具备管理登录、验证用户合法性的能力,因此Windows NT认证模式正是利用了这一用户安全性和帐号管理的机制,允许SQL Server也可以使用NT的用户名和口令。在这种模式下,用户只需要通过Windows NT的认证,就可以连接到SQL Server,而SQL Server本身也就不需要管理一套登录数据。
        • (二)混合认证模式。
          • 混合认证模式允许用户使用Windows NT安全性或SQL Server安全性连接到SQL Server,这就意味着用户可以使用他的帐号登录到Windows NT,或者使用他的登录名登录到SQL Server系统。NT的用户既可以使用NT认证,也可以使用SQL Server认证
    • 访问许可确认
      • 但是通过认证阶段并不代表用户能够访问SQL Server中的数据,同时他还必须通过许可确认。用户只有在具有访问数据库的权限之后,才能够对服务器上的数据库进行权限许可下的各种操作,这种用户访问数据库权限的设置是通过用户帐号来实现的。

    用户权限管理

    • 服务器登录帐号和用户帐号管理
      • 1.利用企业管理器创建、管理SQL Server登录帐号
        • (1)打开企业管理器,单击需要登录的服务器左边的“+”号,然后展开安全性文件夹。
        • (2)用右键单击登录(login)图标,从快捷菜单中选择新建登录(new login)选项,则出现SQL Server登录属性—新建登录对话框,如图6-2所示。
        • (3)在名称编辑框中输入登录名,在身份验证选项栏中选择新建的用户帐号是Windows NT认证模式,还是SQL Server认证模式。
        • (4)选择服务器角色页框。在服务器角色列表框中,列出了系统的固定服务器角色。
        • (5)选择用户映射页框。上面的列表框列出了该帐号可以访问的数据库,单击数据库左边的复选框,表示该用户可以访问相应的数据库以及该帐号在数据库中的用户名。
        • (6)设置完成后,单击“确定”按钮即可完成登录帐号的创建。
      • 使用SQL 语句创建登录帐号
      • 2.用户帐号管理
        • 在数据库中,一个用户或工作组取得合法的登录帐号,只表明该帐号通过了Windows NT认证或者SQL Server认证,但不能表明其可以对数据库数据和数据库对象进行某种或者某些操作,只有当他同时拥有了用户权限后,才能够访问数据库。
        • 利用企业管理器可以授予SQL Server登录访问数据库的许可权限。使用它可创建一个新数据库用户帐号
    • 许可(权限)管理
      • 许可用来指定授权用户可以使用的数据库对象和这些授权用户可以对这些数据库对象执行的操作。用户在登录到SQL Server之后,其用户帐号所归属的NT组或角色所被赋予的许可(权限)决定了该用户能够对哪些数据库对象执行哪种操作以及能够访问、修改哪些数据。在每个数据库中用户的许可独立于用户帐号和用户在数据库中的角色,每个数据库都有自己独立的许可系统,在SQL Server中包括三种类型的许可:即对象许可、语句许可和预定义许可。
        • 三种许可类型
          • 1、对象许可
            • 表示对特定的数据库对象,即表、视图、字段和存储过程的操作许可,它决定了能对表、视图等数据库对象执行哪些操作。
          • 2、语句许可
            • 表示对数据库的操作许可,也就是说,创建数据库或者创建数据库中的其它内容所需要的许可类型称为语句许可。
          • 3、预定义许可
            • 是指系统安装以后有些用户和角色不必授权就有的许可。
    • 角色管理
      • 角色是SQL Server 7.0版本引进的新概念,它代替了以前版本中组的概念。利用角色,SQL Server管理者可以将某些用户设置为某一角色,这样只对角色进行权限设置便可以实现对所有用户权限的设置,大大减少了管理员的工作量。SQL Server提供了用户通常管理工作的预定义服务器角色和数据库角色。
        • 1、服务器角色
          • 服务器角色是指根据SQL Server的管理任务,以及这些任务相对的重要性等级来把具有SQL Server管理职能的用户划分为不同的用户组,每一组所具有的管理SQL Server的权限都是SQL Server内置的,即不能对其进行添加、修改和删除,只能向其中加入用户或者其他角色。
          • 几种常用的固定服务器角色
            • 系统管理员:拥有SQL Server所有的权限许可。
            • 服务器管理员:管理SQL Server服务器端的设置。
            • 磁盘管理员:管理磁盘文件。
            • 进程管理员:管理SQL Server系统进程。
            • 安全管理员:管理和审核SQL Server系统登录。
            • 安装管理员:增加、删除连接服务器,建立数据库复制以及管理扩展存储过程。
            • 数据库创建者:创建数据库,并对数据库进行修改。
        • 2、数据库角色
          • 数据库角色是为某一用户或某一组用户授予不同级别的管理或访问数据库以及数据库对象的权限,这些权限是数据库专有的,并且还可以使一个用户具有属于同一数据库的多个角色。SQL Server提供了两种类型的数据库角色:即固定的数据库角色和用户自定义的数据库角色。
          • (1)固定的数据库角色
            • public:维护全部默认许可。
            • db_owner:数据库的所有者,可以对所拥有的数据库执行任何操作。
            • db_accessadmin:可以增加或者删除数据库用户、工作组和角色。
            • db_addladmin:可以增加、删除和修改数据库中的任何对象。
            • db_securityadmin:执行语句许可和对象许可。
            • db_backupoperator:可以备份和恢复数据库。
            • db_datareader:能且仅能对数据库中的任何表执行select操作,从而读取所有表的信息。
            • db_datawriter:能够增加、修改和删除表中的数据,但不能进行select操作。
            • db_denydatareader:不能读取数据库中任何表中的数据。
            • db_denydatawriter:不能对数据库中的任何表执行增加、修改和删除数据操作。
          • (2)用户自定义角色
            • 创建用户定义的数据库角色就是创建一组用户,这些用户具有相同的一组许可。如果一组用户需要执行在SQL Server中指定的一组操作并且不存在对应的Windows NT组,或者没有管理Windows NT用户帐号的许可,就可以在数据库中建立一个用户自定义的数据库角色。用户自定义的数据库角色有两种类型:即标准角色和应用程序角色。

    Transaction_SQL 语句

    • 赋权语句——Grant
    • 收回权限——Revoke
    • 收回权限——Deny
      这里写图片描述
    展开全文
  • 四大基本概念(1)数据--Data① 数据的定义② 数据的种类③ 数据的特点④ 数据举例(2)数据库--Database① 数据库的定义② 数据库的基本特征(3)数据库管理系统--DataBase Management System① 什么是DBMS?...


    0.思维导图

    在这里插入图片描述

    1.四大基本概念

    (1)数据–Data

    • 数据(Data)是数据库中存储的基本对象

    ① 数据的定义

    描述事物的符号记录

    ② 数据的种类

    文本、图形、图像、音频、视频、学生的档案记录、货物的运输情况等

    ③ 数据的特点

    数据与其语义是不可分的

    ④ 数据举例

    • 数据的含义称为数据的语义,数据与其语义是不可分的。

    例如 93是一个数据
    语义1:学生某门课的成绩
    语义2:某人的体重
    语义3:计算机系2003级学生人数
    语义4:请同学给出。。。

    学生档案中的学生记录
    (李明,男,197205,江苏南京市,计算机系,1990)
    语义:学生姓名、性别、出生年月、籍贯、所在院系、
    入学时间
    解释:李明是个大学生,1972年5月出生,江苏南京市人,1990年考入计算机系

    (2)数据库–Database

    ① 数据库的定义

    数据库(Database,简称DB)是长期储存计算机内有组织可共享的大量数据集合

    ② 数据库的基本特征

    • 数据按一定的数据模型组织、描述和储存
    • 可为各种用户共享
    • 冗余度较小
    • 数据独立性较高
    • 易扩展

    (3)数据库管理系统–DataBase Management System

    ① 什么是DBMS?

    DBMS是位于用户与操作系统之间的一层数据管理软件。是基础软件,是一个大型复杂的软件系统

    ② DBMS的用途

    科学地组织和存储数据、高效地获取和维护数据

    ③ DBMS的主要功能

    • 数据定义功能
      提供数据定义语言(DDL)
      定义数据库中的数据对象

    • 数据组织、存储和管理
      分类组织、存储和管理各种数据
      确定组织数据的文件结构和存取方式
      实现数据之间的联系
      提供多种存取方法提高存取效率

    • 数据操纵功能
      提供数据操纵语言(DML)
      实现对数据库的基本操作 (查询、插入、删除和修改)

    • 数据库的事务管理和运行管理
      数据库在建立、运行和维护时由DBMS统一管理和控制
      保证数据的安全性、完整性、多用户对数据的并发使用
      发生故障后的系统恢复

    • 数据库的建立和维护功能(实用程序)
      数据库初始数据装载转换
      数据库转储
      介质故障恢复
      数据库的重组织
      性能监视分析等

    • 其它功能
      DBMS与网络中其它软件系统的通信
      两个DBMS系统的数据转换
      异构数据库之间的互访和互操作

    (4)数据库系统–Database System

    ① 什么是数据库系统(Database System,简称DBS)

    在计算机系统中引入数据库后的系统构成

    ② 数据库系统的构成

    • 数据库 Database
    • 数据库管理系统(及其开发工具)Database Management System
    • 应用系统
    • 数据库管理员 Database Administrator

    在这里插入图片描述

    ③ 数据库系统的特点

    ❶ 数据结构化
    • 整体数据的结构化是数据库的主要特征之一

    • 整体结构化
      不再仅仅针对某一个应用,而是面向全组织
      不仅数据内部结构化,整体是结构化的,数据之间具有联系

    • 数据库中实现的是数据的真正结构化
      数据的结构用数据模型描述,无需程序定义和解释
      数据可以变长
      数据的最小存取单位是数据项

    ❷ 数据的共享性高,冗余度低,易扩充
    • 数据库系统从整体角度看待和描述数据,数据面向整个系统,可以被多个用户、多个应用共享使用。
    • 数据共享的好处
      减少数据冗余,节约存储空间
      避免数据之间的不相容性与不一致性
      使系统易于扩充
    ❸ 数据独立性高
    • 物理独立性
      指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。当数据的物理存储改变了,应用程序不用改变。
    • 逻辑独立性
      指用户的应用程序与数据库的逻辑结构是相互独立的。数据的逻辑结构改变了,用户程序也可以不变。
    • 数据独立性是由DBMS的二级映像功能来保证的
    ❹ 数据由DBMS统一管理和控制

    DBMS提供的数据控制功能

    • (1)·数据的安全性(Security)保护·
      保护数据,以防止不合法的使用造成的数据的泄密和破坏。
    • (2)数据的完整性(Integrity)检查
      将数据控制在有效的范围内,或保证数据之间满足一定的关系。
    • (3)并发(Concurrency)控制
      对多用户的并发操作加以控制和协调,防止相互干扰而得到错误的结果。
    • (4)数据库恢复(Recovery)
      将数据库从错误状态恢复到某一已知的正确状态。
    ❺ 应用程序与数据的对应关系(数据库系统)

    在这里插入图片描述

    2.数据管理技术的产生和发展

    (1) 什么是数据管理

    • 对数据进行分类、组织、编码、存储、检索和维护
    • 数据处理的中心问题

    (2) 数据管理技术的发展过程

    • 人工管理阶段(20世纪40年代中–50年代中)
    • 文件系统阶段(20世纪50年代末–60年代中)
    • 数据库系统阶段(20世纪60年代末–现在)

    (3)时期

    • 20世纪60年代末以来

    (4) 产生的背景

    • 应用背景 大规模管理
    • 硬件背景 大容量磁盘、磁盘阵列
    • 软件背景 有数据库管理系统
    • 处理方式 联机实时处理,分布处理,批处理
    展开全文
  • 数据库语言分类

    千次阅读 2012-04-26 11:12:50
    SQL(Structure Query Language)语言数据库的核心语言。     SQL的发展是从1974年开始的,其发展过程如下: 1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。 1976年-----IBM公司的Sanjase研究所在研制...


    SQL(Structure Query Language)语言是数据库的核心语言。

     

     

    SQL的发展是从1974年开始的,其发展过程如下:

    1974年-----由Boyce和Chamberlin提出,当时称SEQUEL。

    1976年-----IBM公司的Sanjase研究所在研制RDBMS SYSTEM R

    时改为SQL。

    1979年-----ORACLE公司发表第一个基于SQL的商业化RDBMS产品。

    1982年-----IBM公司出版第一个RDBMS语言SQL/DS。

    1985年-----IBM公司出版第一个RDBMS语言DB2。

    1986年-----美国国家标准化组织ANSI宣布SQL作为数据库工业标准。

    SQL是一个标准的数据库语言,是面向集合的描述性非过程化语言。

    它功能强,效率高,简单易学易维护(迄今为止,我还没见过比它还好

    学的语言)。然而SQL语言由于以上优点,同时也出现了这样一个问题:

    它是非过程性语言,即大多数语句都是独立执行的,与上下文无关,而

    绝大部分应用都是一个完整的过程,显然用SQL完全实现这些功能是很困

    难的。所以大多数数据库公司为了解决此问题,作了如下两方面的工作:

    (1)扩充SQL,在SQL中引入过程性结构;(2)把SQL嵌入到高级语言中,

    以便一起完成一个完整的应用。

     

     

    二. SQL语言的分类

     

    SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。

     

    1. 数据查询语言DQL

    数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE

    子句组成的查询块:

    SELECT <字段名表>

    FROM <表或视图名>

    WHERE <查询条件>

     

    2 .数据操纵语言DML

    数据操纵语言DML主要有三种形式:

    1) 插入:INSERT

    2) 更新:UPDATE

    3) 删除:DELETE

     

    3. 数据定义语言DDL

    数据定义语言DDL用来创建数据库中的各种对象-----表、视图、

    索引、同义词、聚簇等如:

    CREATE TABLE/VIEW/INDEX/SYN/CLUSTER

    | | | | |

    表 视图 索引 同义词 簇

     

    DDL操作是隐性提交的!不能rollback

     

    4. 数据控制语言DCL

    数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制

    数据库操纵事务发生的时间及效果,对数据库实行监视等。如:

    1) GRANT:授权。

     

     

    2) ROLLBACK [WORK] TO [SAVEPOINT]:回退到某一点。

    回滚---ROLLBACK

    回滚命令使数据库状态回到上次最后提交的状态。其格式为:

    SQL>ROLLBACK;

     

     

    3) COMMIT [WORK]:提交。

     

     

        在数据库的插入、删除和修改操作时,只有当事务在提交到数据

    库时才算完成。在事务提交前,只有操作数据库的这个人才能有权看

    到所做的事情,别人只有在最后提交完成后才可以看到。

    提交数据有三种类型:显式提交、隐式提交及自动提交。下面分

    别说明这三种类型。

     

     

    (1) 显式提交

    用COMMIT命令直接完成的提交为显式提交。其格式为:

    SQL>COMMIT;

     

     

    (2) 隐式提交

    用SQL命令间接完成的提交为隐式提交。这些命令是:

    ALTER,AUDIT,COMMENT,CONNECT,CREATE,DISCONNECT,DROP,

    EXIT,GRANT,NOAUDIT,QUIT,REVOKE,RENAME。

     

     

    (3) 自动提交

    若把AUTOCOMMIT设置为ON,则在插入、修改、删除语句执行后,

    系统将自动进行提交,这就是自动提交。其格式为:

    SQL>SET AUTOCOMMIT ON;


    展开全文
  • 1.为使程序员编程时既可使用数据库语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到________中。 (5分) A. 中间语言   B. 操作系统   C. 编译程序   D. 宿主语言   正确...

    数据库系统原理复习题(三)——关系数据库标准语言SQL

     

    1.为使程序员编程时既可使用数据库语言又可使用常规的程序设计语言,数据库系统需要把数据库语言嵌入到________中。  (5分)

    A.   中间语言

     

    B.   操作系统

     

    C.   编译程序

     

    D.   宿主语言

     

    正确答案:D.

    你当前选择:D.

     

    2.SQL语言是________语言。  (5分)

    A.   网络数据库

     

    B.   非数据库

     

    C.   关系数据库

     

    D.   层次数据库

     

    正确答案:C.

    你当前选择:C.

     

     

    .若用如下的SQL语句创建了一个表S

    CREATE TABLE S(S# CHAR(6) NOT NULL,

    SNAME CHAR(8) NOT NULL,

    SEX CHAR(2),

    AGE INTEGER)

    今向S表插入如下行时,哪一行可以被插入?   (5分)

    A.  ('991001','李明芳',女,'23')

     

    B.  (NULL,'陈道一','男',32)

     

    C.   ('992345',NULL,'女',25)

     

    D.  ('990746','张为',NULL,NULL)

     

    正确答案:D.

    你当前选择:D.

    4.下列关于视图的说法错误的是(;;;;)。  (5)

    A.   某一用户可以定义若干个视图

     

    B.   视图一经定义就可以和基本表一样被查询、删除和更新

     

    C.   视图可以用来定义新的视图

     

    D.   视图是从一个或多个基本表导出的表,它是虚表

     

    正确答案:B.

    你当前选择:C.

     

    5.对由SELECT--FROMWHEREGROUP--ORDER组成的SQL语句,其在被DBMS处理时,各子句的执行次序为(    )。  (5)

    A.  SELECT——FROM——WHERE——GROUP——ORDER<br />

     

     

    B.  FROM——SELECT--WHERE——GROUP——ORDER

     

    C.  SELECT—FROM—GROUP—WHERE—ORDER

     

    D.  FROM——WHERE——GROUP——SELECT——ORDER

     

    正确答案:D.

    你当前选择:A.

     

    6.有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)。

    其中S#为学生号,SNAME为学生姓名,SEX为性别,C#为课程号,CNAME为课程名。

    要查询选修“计算机”课的全体女学生姓名的SQL语句是

    SELECT SNAME FROM S,C,SC WHERE__________。这里WHERE 子句的内容是(;;;;)。  (5分)

    A.  S.S#=SC.S# AND C.C#=SC.C# and CNAME=“计算机”

     

    B.  S.S#=SC.S# and SEX=“女” and CNAME=“计算机”

     

    C.  S.S#=SC.S# and C.C#=SC.C# and SEX=“女” and CNAME=“计算机”

     

    D.  SEX=“女” and CNAME=“计算机”

     

    正确答案:C.

    你当前选择:C.

    7.现有三个表:学生表S、课程表C和学生选课表SC,表结构如下:

     S(Sno, Sname,SEX,AGE,DEPT)

     C(Cno, Cname)

     SC(Sno,Cno,GRADE)

    检索所有比“王华”年龄大的学生姓名、年龄和性别。正确的SELECT语句是______。  (5分)

    A.  SELECT sname,age,sex FROM s WHERE sname=‘王华‘

     

    B.  SELECT sname,age,sex FROM s WHERE age;王华.age

     

    C.  SELECT sname,age,sex FROM s

    WHERE age;(SELECT age;;FROM s;;WHERE sname=‘王华‘)

     

    D.  SELECT sname,age,sex FROM s

    WHERE age;(SELECT age;; WHERE sname=‘王华‘)

     

    正确答案:C.

    你当前选择:C.

     

    8._____语言已被国际标准化组织采纳为标准的关系数据库语言。  (5分)

    A.  QUEL

     

    B.  SEQUEL

     

    C.  SQL

     

    D.  ALPHA

     

    正确答案:C.

    你当前选择:C.

     

    9.SQL的DDL语句不包括(;;;;).  (5分)

    A.  DROP INDEX

     

    B.  SELECT

     

    C.  DROP VIEW

     

    D.  CREATE TABLE

     

    正确答案:B.

    你当前选择:B.

     

    10.下列SQL语句中,修改表结构的是_______。  (5分)

    A.  CREATE

     

    B.  ALTER

     

    C.  INSERT

     

    D.  UPDATE

     

    正确答案:B.

    你当前选择:B.

     

    11.对基本表S,执行操作DROPTABLE S RESTRICT的作用是(;;;; )。  (5分)

    A.   把基本表S及产生的一切视图全部删除

     

    B.   删除基本表S中的所有元组

     

    C.   当没有由S中的列产生的视图或约束时将表S删除

     

    D.   删除表S,将引用表S的视图中的一切视图的属性值置为空值

     

    正确答案:C.

    你当前选择:C.

     

    12.视图是一个“虚表”,视图的构造基于(;;;;)。  (5)

    A.   基本表

     

    B.   视图

     

    C.   数据字典

     

    D.   基本表或视图

     

    正确答案:D.

    你当前选择:A.

     

    12.视图是一个“虚表”,视图的构造基于(;;;;)。  (5)

    A.   基本表

     

    B.   视图

     

    C.   数据字典

     

    D.   基本表或视图

     

    正确答案:D.

    你当前选择:A.

     

    14.在下列的SQL语句中,属于数据控制的是(;;;;

    a、CREATE b、SELECT c、UPDATE d、GRANT e、DROP

    f、DELETE g、ALTER h、INSERT i、REVOKE   (5分)

    A.  di

     

    B.  bcfh

     

    C.  aeg

     

    D.  aefg

     

    正确答案:A.

    你当前选择:B.

     

    15.SQL语言具有__________的功能。  (5分)

    A.   关系规范化、数据操纵、数据控制

     

    B.   数据定义、数据操纵、数据控制

     

    C.   数据定义、关系规范化、数据操纵

     

    D.   数据定义、关系规范化、数据控制

     

    正确答案:B.

    你当前选择:B.

     

    16.数据库系统能实现对数据的查询.插入.删除等操作,这种功能是(;;;;)。  (5)

    A.   数据管理功能

     

    B.   数据操纵功能

     

    C.   数据定义功能

     

    D.   数据控制功能

     

    正确答案:B.

    你当前选择:D.

     

    17.在SQL语言中使用FOREIGNKEY时,与之配合的关键词是(;;;;)。  (5分)

    A.  TABLE

     

    B.  EXCEPT

     

    C.  EXISTS

     

    D.  REFERENCES

     

    正确答案:D.

    你当前选择:D.

     

    18.设教学管理数据库模式如下:

       学生关系模式:S(SNO, SNAME, AGE, SEX, SDEPT)

       学习关系模式:SC(SNO, CNO, SCORE)

       课程关系模式:C(CNO, CNAME, CDEPT, TNAME)

    试用SQL的查询语句表示下列查询:

    (1)检索年龄大于21岁的男生的学号、姓名;

    (2)检索电子系学生选修的计算机系开设的课程名和任课教师;

    (3)检索“C语言”课程的成绩在90分以上的学生学号、姓名、年龄;

    (4)检索LI老师教过的课程名和开课系名。  (15分)

    答:

    (1):select SNO, SNAME from S where AGE >21 and SEX = '男';

    (2):select CNAME, TNAME from S, C whereSDEPT = '电子系' and CDEPT = '计算机系';

    (3):select SNO, SNAME, AGE from S, SC whereCNO in (select CNO from C where CNAME = 'C语言') and SCORE >90 and S.SNO = SC.SNO;

    (4):select CNAME, CDEPT from C where TNAME= 'Li老师';

     

    参考答案:

    (1)SELECT SNI,SNAME     FROMS     WHERE SEX='男' ANDAGE>21;

    (2)SELECT CNAME,TNAME FROM C WHERE CDEPT='计算机系' AND CNOIN

             (SELECT CNO FROM S INNER JOIN SC ON S.SNO=SC.SNO WHERE SDEPT='电子系');

    (3)SELECT SNO,SNAME,AGE FROM S WHERE SNO IN

              (SELECT SNO FROM C,SC WHERE SC.CNO=C.CNO AND CNAME='C语言'ANDSCORE>=90);

    (4)SELECT CNAME,CDEPT FROM C WHERE TNAME='LI';

    当前状态:已作答

    展开全文
  • 数据库定义与操作语言 一、ScoreDB中各个表 二、实验目的 理解和掌握数据库SQL DDL语句的语法; 掌握SQL 程序设计基本规范,熟练运用SQL语言实现数据基本查询语句、嵌套查询等; 熟悉数据库的数据更新操作; ...
  • 数据库 - 关系数据库标准语言SQL

    千次阅读 2015-05-05 09:57:12
    SQL是一个通用的、功能极强的关系数据库语言SQL特点1.综合统一 集数据定义语言(DDL),数据操纵语言(DML),数据控制语言(DCL)功能于一体。 可以独立完成数据库生命周期中的全部活动: 定义关系模式,插入...
  • 服务器系统对比、数据库对比、后台开发语言对比
  • 数据库语言(DDL和DML)

    千次阅读 2017-07-17 10:39:16
    数据库系统提供 数据库定义语言(Data Definiton Language) 来定义数据模式 和 数据操纵语言(Data manipulation Language) 来表达数据库的查询和更新. 而数据库定义语言数据库操纵语言构成了SQL语言的不同部分....
  • 一、数据库系统bai、数据库管理系du统、数据库应用系统三者的区别 1.本质zhi不同 数据库系统是一种软件系统数据库管dao理系统本质就是一个软件,而数据库应用系统则是一个计算机应用系统 数据库系统是为适应数据...
  • 关系数据库管理系统一般向用户提供多种形式的语言,这些语言都是由关系数据库管理系统语言处理层来处理。 1、语言处理层的任务和工作步骤 2、解释方法 3、预编译方法 二、数据存取层 1、数据存取层的系统结构 2、...
  • 数据库系统概论》第五版 +学习笔记总目录

    万次阅读 多人点赞 2020-06-03 17:01:53
    文章目录前言第 1 章 绪论第 2 章 关系数据库第 3 章 关系数据库标准语言SQL第 4 章 数据库安全性第 5 章 数据库完整性第 6 章 关系数据理论 前言 本篇文章学习书籍:《数据库系统概论》第5版 王珊 萨师煊编著 ...
  • 请问用Java写系统(比如学生选课系统)如何连接数据库?谢谢!!
  • 数据库 - 数据库系统结构

    千次阅读 2015-05-03 12:47:08
    数据库系统结构从数据库管理系统角度看,数据库系统通常采用三级模式结构,是数据库系统内部的系统结构 从数据库最终用户角度看(数据库系统外部的体系结构) ,数据库系统的结构分为: 单用户结构 分布式结构 ...
  • 数据库管理系统原理与设计 实验一 数据库定义与操作语言 实验1.1 数据库定义 实验目的 理解和掌握数据库DDL语言,能够熟练使用SQL DDL 语句创建、修改和删除数据库、模式和基本表。 实验内容和要求 理解...
  • 数据、数据库数据库管理系统数据库系统

    万次阅读 多人点赞 2018-07-19 21:34:56
    SQL——数据库语言 数据库管理员——DBA 数据库管理系统——DBMS 数据库应用程序——DBAP 数据库(DataBase): 存放数据的仓库,这个仓库是在计算机存储设备上,而且数据是一定的格式存放的。数据库是具有...
  • 数据结构,计算机网络,数据库,计算机组成原理,操作系统这些在大学期间一定要掌握好来,因为现在互联网大厂面试都爱考察这些内容,一句话,计算机基础,yyds! 可能大家第一个问题是,这些课需要哪些先学? 讲真,...
  • 数据的四个基本概念 数据 数据是数据库中存储的基本对象,描述事物的符号记录称为数据。...DBMS具有数据定义(提供数据库定义语言DDL),数据组织、存储和管理(提供数据操作语言DML),数据库的事务管理和运行管理
  • SQL Server 2008系统的系统数据库

    千次阅读 2018-05-22 21:05:44
    系统数据库是指安装程序一起安装,用于协助SQL Server 2008系统共同完成管理操作的数据库,它们是SQL Server 2008运行的基础。它们分别是:master、model、tempdb、msdb数据库。1、master数据库master数据库是SQL ...
  • 例子如下:数据库管理系统(DBMS):一种操纵和管理数据库的软件,用于建立、使用和维护数据库它对数据库进行统一的管理和控制,以保证数据库的安全性和完整性用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS...
  • 修改数据库语言设置

    千次阅读 2015-08-24 10:16:20
    ALTER DATABASE SecretBox SET SINGLE_USER WITH ROLLBACK ...ALTER DATABASE SecretBox COLLATE Chinese_PRC_CI_AS(或者:SQL_Latin1_General_CP1_CI_AS(英文系统默认)。)  go ALTER DATABASE SecretBox SET M
  • 数据库管理系统数据库系统

    千次阅读 2015-09-28 14:11:57
    数据库管理系统(DBMS) DBMS的工作模式 接受应用程序的数据请求和处理请求 将用户的数据请求(高级指令)转换成复杂的机器代码(低层指令) 实现对数据库的操作 从对数据库的操作中接受查询结果 对查询结果...
  • 本人是初学者,现在有个困惑,系统中的数据库是如何建立的?是先用DBMS客户端建立,让后用编程语言与之连接;还是直接用编程语言创建数据库并录入数据? 希望老司机不吝赐教
  • 学生选课系统数据库设计

    万次阅读 多人点赞 2017-11-20 11:12:11
    计算机的数据库可以分为两类:非关系数据库和关系数据库。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,如记录、域等。 SQLserver 2005就是关系数据库开发工具,数据库能汇集各种...
  • 系统是java语言开发的图书管理系统系统开发环境: Windows xp sp2 + myEclipse5.5 + Tomcat6.0 + MySQL5.0; 数据库文件:直接将数据库目录下的db_librarySys文件夹复制到mysql数据库的data目录下即可
  • 数据库管理系统

    千次阅读 2018-10-24 00:14:00
    创建数据库主要是用数据定义语言定义和创建数据库模式、外模式、内模式等数据库对象。在关系数据库中就是建立数据库(或模式)、表、视图、索引等,还有创建用户、安全保密定义(如用户口令、级别、角色、存取权限)...
  • 理解和掌握数据库DDL语言,能够熟练使用SQL语句创建、修改和删除数据库和基本表 实验内容 掌握SQL DDL语句的语法,特别是各种参数的具体含义和使用方法;使用SQL语句创建、修改和删除数据库和基本表 注意事项: ...
  • 一、数据库系统数据库数据库管理系统 DBS包括DB和DBMS。 1、DBS是Database System的缩写,数据库系统。 2、DB是database的缩写,数据库。 3、DBMS是Database Management System的缩写,数据库管理系统。 ...
  • 简述数据库系统

    千次阅读 多人点赞 2017-02-26 10:48:29
    数据库系统是由数据库数据库管理系统、应用程序和数据库管理员组成的存储、管理、处理和维护数据的系统。 以上这句话是对数据库系统非常严谨的定义。我这篇博客是想从自己的角度来重新认识一下数据库系统。在逐个...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 732,550
精华内容 293,020
关键字:

系统数据库语言