澳门新蒲京娱乐

图片 64
计算机经验
澳门新蒲京娱乐 11
SQLServer之FOREIGN KEY约束

常用知识点总括,数据库基本知识

数据库也是计量机类笔试面试中不可防止会遇见的考试场点,越发是银行和局地守旧软件类集团。那里根据整理的资料,对数据库的连锁知识也做个小结吧。希望学过数据库但长日子不用的同学依据那几个知识能够回想和重拾,没学过的同窗能左右一些数据库的基础知识。

数据库也是持筹握算机类笔试面试中不可幸免会遇到的考点,尤其是银行和某个传统软件类公司。那里依照整理的材料,对数据库的有关文化也做个计算吧。希望学过数据库但长日子不用的同室根据这几个文化能够回忆和重拾,没学过的同学能控制一些数据库的基础知识。

第一节

第一节

 壹 、相关概念    

  1.
Data:数据,是数据库中存款和储蓄的大旨对象,是讲述事物的记号记录。

     
 2.
Database:数据库,是漫长储存在计算机内、有集体的、可共享的大方数码的成团

     
 3.
DBMS:数据库管理类别,是身处用户与操作系统之间的一层数码管理软件,用于科学地公司、存款和储蓄和保管数据、高效地获取和维护数据。

     
 4.
DBS:数据库系统,指在总结机体系中引入数据库后的系统,一般由数据库、数据库管理种类、应用种类、数据库管理员(DBA)构成。

     
 5.
数据模型:是用来抽象、表示和拍卖具体世界中的数据和音讯的工具,是对具体世界的依样葫芦,是数据库系统的为主和基础;其构成要素有数据结构、数据操作和完整性约束

     
 6.
概念模型:也称消息模型,是按用户的观点来对数码和消息建立模型,主要用来数据库设计。

     
 7. 逻辑模型:是按电脑种类的眼光对数据建模,用于DBMS实现。

     
 8.
大人体模型型:是对数码最尾部的虚幻,描述数据在系统之中的代表方法和存取方法,在磁盘或磁带上的贮存方式和存取方法,是面向总括机种类的。

     
 9.
实体和属性:客观存在并可相互区分的事物称为实体。实体所拥有的某一特色称为属性。

     
 10.E-R图:即实体-关系图,用于描述现实世界的事物及其相互关系,是数据库概念模型设计的第1工具。

     
 11.关系形式:从用户意见看,关系方式是由一组关系结合,每一个关系的数据结构是一张规范化的二维表。

     
 12.型/值:型是对某一类数据的构造和性质的验证;值是型的叁个实际赋值,是型的实例。

     
 13.数据库方式:是对数据库中全方位数据的逻辑结构(数据项的名字、类型、取值范围等)和特征(数据里面包车型客车牵连以及数据有关的安全性、完整性要求)的讲述。

     
 14.数据库的三级系统结构:外形式、格局和内形式

     
 15.数据库内方式:又称为仓库储存情势,是对数据库物理构造和仓库储存格局的叙说,是数码在数据库内部的象征方法。三个数据库唯有三个内方式

     
 16.数据库外方式:又称为子方式或用户方式,它是数据库用户能够看见和采用的部分数据的逻辑结构和特征的叙述,是数据库用户的多少视图。平常是形式的子集。二个数据库可有多少个外情势

     
 17.数据库的二级影象:外形式/情势印象、格局/内方式影象。

     
① 、相关概念

 贰 、重点知识点

  1. 数据库系统由数据库、数据库管理种类、应用系统和数据库管理员构成。

     
 2. 数据模型的整合成分是:数据结构、数据操作、完整性约束规范。

     
 3. 实体型之间的关联分为一对① 、一对多和多对多三体系型。

     
 4. 普遍的数据模型包括:事关、层次、网状、面向对象、对象关系映射等几种。

     
 5. 关乎模型的完整性约束蕴涵:实体完整性、参照完整性和用户定义完整性。

      6. 演讲数据库三级形式、二级映象的含义及效益。

     
  数据库三级格局反映的是数额的八个抽象层次: 方式是对数据库中总体数据的逻辑结构和特征的叙说内格局又叫做存款和储蓄格局,是对数据库物理构造和仓库储存方式的叙说。外形式又称为子格局或用户格局,是对特定数据库用户相关的局地数据的逻辑结构和特色的叙述

     
  数据库三级情势通过二级映象在 DBMS 内部贯彻那多个抽象层次的沟通和更换。外形式面向应用程序, 通过外形式/情势映象与逻辑形式建立联系, 达成多少的逻辑独立性。 方式/内格局映象建立模式与内形式里面包车型客车一对一映射, 实现多少的物理独立性

       1.
Data:数据,是数据库中贮存的宗旨目的,是描述事物的符号记录。
       2.
Database:数据库,是久久储存在总括机内、有集体的、可共享的大方数码的联谊。
       3.
DBMS:数据库管理类别,是放在用户与操作系统里头的一层数据管理软件,用于科学地组织、存款和储蓄和管制数据、高效地收获和维护数据。
       4.
DBS:数据库系统,指在处理器种类中引入数据库后的系统,一般由数据库、数据库管理种类、应用种类、数据库管理员(DBA)构成。
       5.
数据模型:是用来抽象、表示和拍卖具体世界中的数据和音讯的工具,是对具体世界的模仿,是数据库系统的宗旨和基础;其重组成分有数据结构、数据操作和完整性约束。
       6.
概念模型:也称音信模型,是按用户的视角来对数码和新闻建立模型,重要用于数据库设计。
       7.
逻辑模型:是按电脑类其余看法对数据建立模型,用于DBMS达成。
       8.
大人体模型型:是对数据最尾部的抽象,描述数据在系统内部的象征方法和存取方法,在磁盘或磁带上的储存格局和存取方法,是面向总括机连串的。
       9.
实体和性质:客观存在并可相互区分的事物称为实体。实体所独具的某一特点称为属性。
     
 10.E-陆风X8图:即实体-关系图,用于描述现实世界的事物及其互相关系,是数据库概念模型设计的首要工具。
     
 11.关联形式:从用户意见看,关系形式是由一组关系构成,每种关系的数据结构是一张规范化的二维表。
     
 12.型/值:型是对某一类数据的结构和质量的证实;值是型的3个切实可行赋值,是型的实例。
     
 13.数据库格局:是对数据库中漫天数据的逻辑结构(数据项的名字、类型、取值范围等)和特征(数据里面包车型大巴关联以及数据有关的安全性、完整性需要)的叙说。
     
 14.数据库的三级系统结构:外方式、形式和内形式。
     
 15.数据库内格局:又称为存款和储蓄方式,是对数据库物理构造和仓库储存格局的讲述,是数量在数据库内部的代表方法。一个数据库唯有一个内格局。
     
 16.数据库外方式:又称为子情势或用户情势,它是数据库用户能够看见和应用的有的数据的逻辑结构和性情的讲述,是数据库用户的数据视图。平时是形式的子集。三个数据库可有三个外方式。
     
 17.数据库的二级印象:外格局/格局印象、格局/内格局印象。

第二节

     

壹 、相关概念

     
 1. 主键: 能够唯一地方统一标准识四个元组的性质或属性组称为关系的键或候选键。 若1个涉嫌有七个候选键则可选其一作为主键(Primary key)。

     
 2. 外键:假设一个关系的八个或一组属性引用(参照)了另贰个关乎的主键,则称那么些或那组属性为外码或外键(Foreign key)。

     
 3. 关周密据库: 依照关系模型建立的数据库称为关周全据库。 它是在有个别应用领域的装有关乎的会合

     
 4. 关系方式: 简单地说,关系情势就是对关乎的型的概念, 包罗涉及的天性构成、各属性的数据类型、 属性间的借助、 元组语义及完整性约束等。 涉及是关系情势在某一时半刻时的场合或内容, 关系模型是型, 关系是值, 关系模型是静态的、 稳定的, 而关系是动态的、随时间不断变动的,因为涉及操作在时时刻刻地换代着数据库中的数据

     
 5.
实体完整性:用于标识实体的唯一性。它须求中心关系必须求有2个可见标识元组唯一性的主键,主键不可能为空,也不可取重复值。

     
 6. 参照完整性: 用于维护实体之间的引用关系。 它供给1个论及的外键要么为空, 要么取与被参照关系对应的主键值,即外键值必须是主键中已存在的值

     
 7. 用户定义的完整性:便是针对某一现实使用的数码必须满意的语义约束。包罗非空、 唯一和布尔条件约束两种处境。

 ② 、重点知识点

贰 、主要知识点

     
1. 关周到据库语言分为事关代数、关系演算和结构化查询语言三大类。

     
2. 关联的5种基本操作是慎选、投影、并、差、笛Carl积

     
3.事关格局是对关系的叙述,五元组方式化表示为:Qashqai(U,D,DOM,F),其中

     
      R —— 关系名

     
      U —— 组成该关系的属性名集合

     
      D —— 属性组 U 中质量所来自的域

     
      DOM —— 属性向域的画面集合

     
      F —— 属性间的多寡注重关系集合

     
4.笛Carl乘积,采用和阴影运算如下

图片 1

     
 1. 数据库系统由数据库、数据库管理连串、应用种类数据库管理员构成。

第三节

     
 2. 数据模型的组成要素是:数据结构、数据操作、完整性约束原则

壹 、相关概念

     
 1. SQL:结构化查询语言的简称, 是关周详据库的正式语言。SQL 是一种通用的、 功效极强的关全面据库语言, 是对关周密据存取的标准接口, 也是差别数据库系统里头互操作的基础。集数据查询、数据操作、数据定义、和数量控制功用于一体。

     
 2. 数量定义:数据定义功用包蕴方式定义、表定义、视图和目录的概念。

     
 3. 嵌套查询:指将一个询问块嵌套在另二个查询块的 WHERE 子句或 HAVING 短语的标准化中的查询。

     
 3. 实体型之间的联络分为一对一、一对多多对多三体系型。

贰 、主要知识点

     
 1. SQL 数据定义语句的操作对象有:形式、表、视图和目录。

     
 2. SQL 数据定义语句的命令动词是:CREATE、DROP 和 ALTER。

     
 3. 普拉多DBMS 中索引一般接纳 B+树或 HASH 来实现

     
 4. 索引能够分为唯一索引、非唯一索引和聚簇索引三种档次。

图片 2

  6.SQL 成立表语句的一般格式为

     
        CREATE TABLE <表名>

     
      
 ( <列名> <数据类型>[ <列级完整性约束> ]

     
      
 [,<列名> <数据类型>[ <列级完整性约束>] ] …

     
        [,<表级完整性约束> ] ) ;

在那之中<数据类型>能够是数据库系统援助的各个数据类型,包蕴长度和精度。 

   
列级完整性约束为针对单个列(本列)的完整性约束, 包罗 PHighlanderIMAQashqaiY KEY、 REFERENCES表名(列名)、UNIQUE、NOT NULL 等。 

   
表级完整性约束能够是依照表中多列的束缚,包蕴 PKugaIMARubiconY KEY ( 列名列表) 、FOREIGN KEY REFERENCES 表名(列名) 等。

     
 7. SQL 成立索引语句的一般格式为

     
        CREATE [UNIQUE] [CLUSTER] INDEX <索引名>

     
        ON <表名> (<列名列表> ) ;

其中UNIQUE:表示创制唯一索引,缺省为非唯一索引;

     
CLUSTE牧马人:表示成立聚簇索引,缺省为非聚簇索引;

     
<列名列表>:三个或逗号分隔的八个列名,每一种列名后可跟 ASC 或 DESC,表示升/降序,缺省为升序。多列时则按为浩如烟海排序。 
  

   8. SQL 查询语句的形似格式为

     
      
 SELECT [ALL|DISTINCT] <算术表达式列表> FROM <表名或视图名列表>

     
        [ WHERE <条件表明式 1> ]

     
      
 [ GROUP BY <属性列表 1> [ HAVING <条件表明式 2 > ] ]

     
        [ OLANDDE奥迪Q7 BY <属性列表 2> [ ASC|DESC ] ] ;

其中

   
  ALL/DISTINCT: 缺省为 ALL, 即列出全部查询结果记录, 包罗重复记录。 DISTINCT则对重复记录只列出一条

   
   算术表达式列表:1个或四个逗号分隔的算术表明式,说明式由常量(蕴涵数字和字符串)、列名、函数和算术运算符构成。每种表明式后还可跟别称。也可用 *代表查询表中的全数列。

   
  <表名或视图名列表>: 四个或七个逗号分隔的表或视图名。 表或视图名后可跟别称。

   
  条件表明式 1:包罗关系或逻辑运算符的表明式,代表询问条件。

   
  条件表明式 2:包罗关系或逻辑运算符的表达式,代表分组条件。

   
  <属性列表 1>:多个或逗号分隔的八个列名。

   
  <属性列表 2>: 三个或逗号分隔的八个列名, 各样列名后可跟 ASC 或 DESC, 表示升/降序,缺省为升序。

     
 4. 广泛的数据模型包含:涉及、层次、网状、面向对象、对象关联映射等几种。

第四节

     
 5. 关乎模型的完整性约束包蕴:实业完整性、参照完整性和用户定义完整性

① 、相关概念和学识

     
 1.触发器是用户定义在基本表上的一类由事件驱动的区别常常进度。由服务器自动激活, 能执行尤其复杂的检查和操作,具有更精致和更强硬的数量控制能力。使用 CREATE T奥迪Q5IGGESportage 命令建立触发器。

     
 2.电脑系列设有技术安全、管理安全和策略法律三类安全性难点。

     
 3. TCSEC/TDI 标准由安全策略、义务、保险和文书档案七个方面内容结合。

     
 4. 常用存取控制方法包蕴独立自主存取控制(DAC)和强制存取控制(MAC)两种。

     
 5. 独立存取控制(DAC)的 SQL 语句包罗 GRANT 和 REVOKE 八个。 用户权限由数据对象和操作类型两局地构成。

图片 3

     
 6. 常见SQL 自主权力控制命令和例子。

     
   1) 把对 Student 和 Course 表的凡事权力授予全体用户。

     
        GRANT ALL PRIVILIGES ON TABLE Student,Course TO PUBLIC

     
   2) 把对 Student 表的查询权和人名修改权授予用户 U4。

     
        GRANT SELECT,UPDATE(Sname) ON TABLE Student TO U4 ;

     
   3) 把对 SC 表的插入权限授予 U5 用户,并允许她传播该权限。

     
        GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION ;

     
   4) 把用户 U5 对 SC 表的 INSE汉兰达T
权限收回,同时收回被她传播出去的授权。

     
        REVOKE INSERT ON TABLE SC FROM U5 CASCADE ;

     
   5) 创造四个角色 GL4501,并使其对 Student
表具有数据查询和换代权限。

     
        CREATE ROLE R1;

     
        GRANT SELECT,UPDATE ON TABLE Student TO R1;

     
   6) 对修改 Student 表结构的操作进行审计。

     
        AUDIT ALTER ON Student ;

 
    6. 演说数据库三级格局、二级映象的含义及职能。
        数据库三级形式反映的是多少的四个抽象层次: 模式是对数据库中全体数据的逻辑结构和特点的叙说。内情势又称为存款和储蓄方式,是对数据库物理结构和仓库储存格局的讲述。外情势又称为子情势或用户情势,是对一定数据库用户相关的片段数据的逻辑结构和特点的叙说。

数据库知识总括(2)范式

     
  数据库三级形式通过二级映象在 DBMS 内部贯彻这五个抽象层次的关联和转换。外格局面向应用程序, 通过外形式/形式映象与逻辑形式建立联系, 完毕数据的逻辑独立性。 形式/内格局映象建立格局与内形式里面包车型客车一对一映射, 完结多少的大体独立性。

 一 、相关概念和知识点

     
 1.数码注重:反映一个事关之中属性与品质之间的牢笼关系,是实际世界属性间相互关系的空洞,属于数据内在的习性和语义的反映。

     
 2. 规范化理论:是用来安插精良的涉及情势的主干理论。它经过分解关系形式来扫除在那之中不确切的数目依赖,以消除插入极度、删除卓殊、更新极度和数量冗余难点。

     
 3. 函数正视:简单地说,对于涉及形式的三个属性格集X和Y,若X的任一取值能唯一分明Y的值,则称Y函数注重于X,记作X→Y。

     
 4. 非平日函数重视:对于涉及情势的多个属本性集X和Y,即便X→Y,但Y!⊆X,则称X→Y为非经常函数依赖;如果X→Y,但Y⊆X,则称X→Y为非平时函数重视。

     
 5. 一心函数注重:对于涉嫌形式的几个属性格集X和Y,假诺X→Y,并且对于X的任何二个真子集X’,都未曾X’→Y,则称Y对X完全函数正视。

     
 6. 范式:指符合某一种级其余关系形式的集纳。在规划关周全据库时,根据满意正视关系要求的不等定义为差别的范式。

     
 7. 规范化:指将叁个低超级范式的涉及形式,通过方式分解转换为几个高一流范式的关系格局的联谊的长河。

     
 8. 1NF:若关系形式的装有属性都以不可分的着力数据项,则该关系形式属于1NF。

     
 9. 2NF:1NF关乎情势一旦同时满足每二个非主属性完全函数依赖于码,则该关系格局属于2NF。

     
 10. 3NF:若关系情势的每3个非主属性既不有的依赖于码也不传递重视于码,则该关系情势属于3NF。

     
 11. BCNF:若3个涉及方式的每二个操纵因素都包蕴码,则该关系形式属于BCNF。

     
 12. 数据库设计:是指对于二个加以的应用环境,构造优化的数据库逻辑格局和大体结构,并因而建立数据库及其应用种类,使之能够有效地囤积和管制数据,满意各样用户的选取须求,包括新闻保管供给和数据操作须求。

     
 13.
数据库设计的5个着力步骤:必要分析,概念结构划设想计,逻辑结构划设想计,物理结构划设想计,数据库实施,数据库运营和体贴。

     
 14. 定义结构划设想计:指将须要分析获得的用户须要抽象为新闻结构即概念模型的进程。相当于通过对用户须求举办归咎、归咎与虚无,形成三个独立于现实DBMS的概念模型。

     
 15. 逻辑结构划设想计:将定义结构模型(基本E-本田UR-V图)转换为有个别DBMS产品所支撑的数据模型相契合的逻辑结构,并对其进行优化。

     
 16. 大体结构划设想计:指为三个加以的逻辑数据模型选择三个最符合应用环境的情理构造的长河。包涵设计数据库的贮存结构与存取方法。

     
 17. 空洞:指对实际的人、物、事和定义进行人工处理,抽取所关怀的同台湾特务点,忽略非本质的细节,并把那么些特色用种种概念精确地加以描述,那些概念组成了某种模型。     
 18. 数据库设计必须依照结构划设想计和作为设计相结合的规则。     
 19. 数码字典首要不外乎数据项、数据结构、数据流、数据存款和储蓄和处理进程多个部分。

     
 20. 两种常用抽象方法是分类、聚集和包括。

     
 21. 有个别 E-LAND图之间的争论首要呈今后性质争辩、命名争辨和结构冲突四个地点。     
 22. 数据库常用的存取方法包括索引方法、聚簇方法和 HASH方法三种。

     
 23. 规定数据存放地方和仓库储存结构亟待考虑的要素至关心注重要有: 存取时间、
存储空间利用率和护卫代价等。

第二节

贰 、细说数据库三范式

  2.1 第②范式(1NF)无重复的列

       第贰范式(1NF)中多少库表的每一列都以不可分割的为主数据项

     
 同一列中无法有八个值

     
 即实体中的有些属性不可能有五个值或许不能够有再次的性质

     
 简单的说,第③范式就是无重复的列。

     
 在其余2个关周到据库中,第壹范式(1NF)是对事关情势的主旨必要,不满足第壹范式(1NF)的数据库就不是关周到据库

  

  2.2 第三范式(2NF)属性完全依靠于主键[化解部分子函数正视]     

  知足第一范式(2NF)必须先满足第1范式(1NF)。   
 

  第1范式(2NF)供给数据库表中的各种实例或行必须能够被惟一地有别于。     

  为完毕区分日常必要为表加上2个列,以存储各类实例的绝无仅有标识。 

  第叁范式(2NF)须求实体的属性完全依靠于主关键字。所谓完全依赖是指不可能存在仅凭借主关键字一部分的性质,要是存在,那么那性情格和主关键字的这一有个别应该分离出来形成二个新的实体,新实体与原实体之间是一对多的关联。为落实区分日常须要为表加上3个列,以存储种种实例的独步标识。简单来说,第贰范式正是性质完全依靠于主键。

  2.3 第叁范式(3NF)属性不依靠于任何非主属性[破除传递信赖]

     
 满意第3范式(3NF)必须先满足第①范式(2NF)。

     
 一言以蔽之,第3范式(3NF)须求三个数据库表中不带有已在任何表中已盈盈的非主关键字音信。

     
 例如,存在二个机构音信表,在这之中各种单位有单位编号(dept_id)、部门名称、部门简介等音信。那么在的职工新闻表中列出单位编号后就不能再将机构名称、部门简介等与单位关于的音讯再进入职员和工人消息表中。假设不设有机构音信表,则基于第壹范式(3NF)也应有塑造它,不然就会有大气的多寡冗余。总而言之,第一范式正是性质不借助于其余非主属性。

  

  2.4
具体实例分析

  上面列举一个高校的学生系统的实例,以示多少个范式的应用。

  在统一筹划数据库表结构从前,大家先明确一下要设计的始末囊括那个。学号、学生姓名、年龄、性别、课程、课程学分、系别、学科战表,系办地址、系办电话等音讯。为了不难大家最近只考虑这个字段音信。大家对此这几个新闻,说关怀的标题有如下多少个地点。

     
 1)学生有那多少个基本新闻 
     
 2)学生选了那么些课,战表是如何 
     
 3)各类课的学分是稍稍 
     
 4)学生属于相当系,系的着力新闻是哪些。

     
 首先第②范式(1NF):数据库表中的字段都以单一属性的,不可再分。那几个单一属性由基本项目构成,包罗整型、实数、字符型、逻辑型、日期型等。在近来的其余关周全据库管理体系(DBMS)中,不容许你把多少库表的一列再分为二列或多列,由此做出的都是相符第1范式的数据库。 

     
 我们再考虑第壹范式,把具备那个消息放到一个表中(学号,学生姓名、年龄、性别、课程、课程学分、系别、学科战表,系办地址、系办电话)上边存在如下的注重关系。 
     
 1)(学号)→ (姓名, 年龄,性别,系别,系办地址、系办电话) 
     
 2) (课程名称) → (学分) 
     
 3)(学号,课程)→ (学科战表)

  依照依赖关系我们得以把选课关系表SelectCourse改为如下多个表: 

     
 学生:Student(学号,姓名, 年龄,性别,系别,系办地址、系办电话); 
     
 课程:Course(课程名称, 学分); 
     
 选课关系:SelectCourse(学号, 课程名称, 战表)。

     
 事实上,对照第三范式的要求,那正是满意第三范式的多寡库表,若不满足第一范式,会发生如下难题:
  (1)数据冗余: 同一门课程由n个学生选修,”学分”就再也n-贰次;同一个学员选修了m门课程,姓名和年龄就再一次了m-一回。

  (2)更新非凡:1)若调整了某门课程的学分,数据表中全体行的”学分”值都要翻新,否则会见世一样门课程学分差别的情状。 
     
         
 2)假如要设立一门新的学科,权且还未曾人选修。那样,由于还未曾”学号”关键字,课程名称和学分也不能够记录入数据库。

  (3)删除非凡 : 借使一批学员一度做到课程的选修,那几个选修记录就应当从数据库表中删除。但是,与此同时,课程名称和学分音讯也被去除了。很举世瞩目,那也会促成插入万分。

  大家再考虑怎样将其改成满意第二范式的多寡库表,接着看下面的学员表Student(学号,姓名, 年龄,性别,系别,系办地址、系办电话),关键字为单一关键字”学号”,因为存在如下决定涉及:

     
(学号)→ (姓名, 年龄,性别,系别,系办地址、系办电话) 
  可是还存在下面包车型客车操纵涉及 
     
 (学号) → (所在大学)→(高校地点, 大学电话) 
     
 
即存在非关键字段”高校地点”、”大学电话”对首要字段”学号”的传递函数信赖。 
     
 它也会存在数量冗余、更新至极、插入卓殊和删除极度的意况(那里就不具体分析了,参照第①范式中的分析)。依据第2范式把学生关系表分为如下五个表就能够满意第1范式了:

     
 学生:(学号, 姓名, 年龄, 性别,系别); 
     
 系别:(系别, 系办地址、系办电话)。

SQL语句总括

一 、相关概念

SQL语句中常用关键词及其表达如下:

     
 1. 主键: 能够唯一地标识二个元组的性子或属性组称为关系的键或候选键。 若二个涉嫌有多少个候选键则可选其一作为主键(Primary key)。

1)SELECT

将质感从数据库中的表格内选出,五个基本点字:从 (FROM) 数据库中的表格内选出
(SELECT)。语法为
SELECT
“栏位名” FROM “表格名”。

     
 2. 外键:如果3个提到的贰个或一组属性引用(参照)了另贰个事关的主键,则称这几个或那组属性为外码或外键(Foreign key)。

2)DISTINCT

在上述 SELECT 关键词后增加一个 DISTINCT
就足以去除采取出来的栏位中的重复,从而形成求得那些表格/栏位内有哪些分歧的值的效益。语法为
SELECT
DISTINCT “栏位名” FROM “表格名”。

     
 3. 关周密据库: 依照关系模型建立的数据库称为关全面据库。 它是在有些应用领域的保有关乎的集纳。

3)WHERE

本条首要词能够匡助我们接纳性地抓资料,而不是全取出来。语法为
SELECT
“栏位名” FROM “表格名” WHERE “条件” 

     
 4. 关乎情势: 不难地说,关系格局正是对涉及的型的概念, 包含涉嫌的习性构成、各属性的数据类型、 属性间的正视、 元组语义及完整性约束等。 关系是关乎形式在某一每日的情景或内容, 关系模型是型, 关系是值, 关系模型是静态的、 稳定的, 而关系是动态的、随时间不断变动的,因为涉及操作在不停地立异着数据库中的数据。

4)AND OR

上例中的 WHERE
指令能够被用来由表格中有原则地选拔资料。这几个规格恐怕是粗略的
(像上一页的事例),也大概是复杂的。复杂条件是由二或两个简易标准经过 AND
或是 O奥德赛 的接连而成。语法为:
SELECT
“栏位名”  FROM “表格名”  WHERE “不难标准”  {[AND|OR]
“简单标准”}+

     
 5. . 实体完整性:用于标识实体的唯一性。它要求基本关系必供给有一个能够标识元组唯一性的主键,主键不能够为空,也不足取重复值

5)IN

在 SQL 中,在四个景况下会用到 IN  这么些命令;这一页将介绍在那之中之一:与
WHERE
有关的那些景况。在那几个用法下,大家事先已清楚至少2个我们要求的值,而大家将这几个知道的值都放入
IN  这一个子句。语法为:
SELECT
“栏位名”  FROM “表格名”  WHERE “栏位名” IN (‘值一’, ‘值二’, …)
 

     
 6. 参照完整性: 用于珍视实体之间的引用关系。 它须要3个关乎的外键要么为空, 要么取与被参照关系对应的主键值,即外键值必须是主键中已存在的值

6)BETWEEN

IN 这么些命令可以让大家依据一或数个不一连(discrete)的值的限制之内抓出资料库中的值,而 BETWEEN
则是让大家能够运用三个限制 (range)
 内抓出资料库中的值,语法为:
SELECT
“栏位名”  FROM “表格名” WHERE “栏位名” BETWEEN ‘值一’ AND
‘值二’ 

     
 7. 用户定义的完整性:正是本着某一切实采纳的数额必须满意的语义约束。包括非空、 唯一和布尔条件约束三种状态。

7)LIKE

LIKE 是另三个在 WHERE  子句中会用到的一声令下。基本上, LIKE
 能让大家依照1个形式(pattern) 来找出大家要的素材。语法为:
SELECT
“栏位名”  FROM “表格名”  WHERE “栏位名” LIKE {模式} 

      ② 、首要知识点

8)ORDER BY

我们常常必要能够将抓出的资料做2个有种类的来得。这可能是由小往大
(ascending)  或是由大往小(descending)。在那种景观下,大家就能够使用
O安德拉DELacrosse BY 这些命令来达到大家的目标。语法为:
SELECT
“栏位名”  FROM “表格名 [WHERE “条件”] ORDER BY “栏位名” [ASC,
DESC] 

      1. 关周详据库语言分为关系代数、关系演算和结构化查询语言三大类。

9)函数

函数允许大家能够对这么些数字的型态存在的行如故列做运算,包涵 AVG
(平均)、COUNT (计数)、MAX (最大值)、MIN (最小值)、SUM
(总合)。语法为:
SELECT
“函数名”(“栏位名”) FROM “表格名”  

      2. 提到的 5 种基本操作是挑选、投影、并、差、笛Carl积。

10)COUNT

本条第1词能够帮笔者大家总结有稍许笔资料被选出来,语法为:
SELECT
COUNT(“栏位名”) FROM “表格名”

     
3.事关方式是对涉及的叙述,五元组情势化表示为:大切诺基(U,D,DOM,F),其中

11)GROUP BY

GROUP BY
语句用于结合合计函数,依照二个或多少个列对结果集举行分组。语法为:
SELECT
“栏位1”, SUM(“栏位2”)  FROM “表格名”  GROUP BY “栏位1” 

            R —— 关系名

12)HAVING

该重庆大学词能够帮忙大家对函数产生的值来设定条件。语法为:
SELECT
“栏位1”, SUM(“栏位2”)  FROM “表格名”  GROUP BY “栏位1”  HAVING
(函数条件)  

            U —— 组成该关系的属性名集合

13)ALIAS

咱俩得以因此ALIAS为列名称和表名称内定小名,语法为:
SELECT
“表格小名”.”栏位1″ “栏位小名”  FROM “表格名” “表格别称”  

  • *

            D —— 属性组 U 中质量所来自的域

问题:

一 、查询“001”课程比“002”课程成绩高的具备学生的学号;
select
a.S#
from
(select s#,score from SC where C#=’001′) a,
(select
s#,score from SC where C#=’002′) b
where
a.score>b.score and a.s#=b.s#;

② 、查询平均成绩超过57分的同校的学号和平均成绩;
select
S#,avg(score)
from
sc
group
by S# having avg(score) >60;

叁 、查询全体同学的学号、姓名、选课数、总成绩;
select
Student.S#,Student.Sname,count(SC.C#),sum(score)
from
Student left Outer join SC on Student.S#=SC.S#
group
by Student.S#,Sname

肆 、查询姓“李”的教育工作者的个数;
select
count(distinct(Tname))
from
Teacher
where
Tname like ‘李%’;

五 、查询没学过“叶平”老师课的同窗的学号、姓名;
select
Student.S#,Student.Sname
from
Student
where
S# not in (select distinct( SC.S#) from SC,Course,Teacher where
SC.C#=Course.C# and Teacher.T#=Course.T# and
Teacher.Tname=’叶平’);

⑥ 、查询学过“001”并且也学过数码“002”课程的同桌的学号、姓名;
select
Student.S#,Student.Sname
from
Student,SC

where
Student.S#=SC.S# and SC.C#=’001′and exists( Select * from SC as
SC_2 where SC_2.S#=SC.S# and SC_2.C#=’002′);

 

柒 、查询学过“叶平”老师所教的全部课的同窗的学号、姓名;
select
S#,Sname
from
Student
where
S# in
(select
S#
from
SC ,Course ,Teacher
where
SC.C#=Course.C# and Teacher.T#=Course.T# and Teacher.Tname=’叶平’
group by S# having count(SC.C#)=(select count(C#) from Course,Teacher
where Teacher.T#=Course.T# and Tname=’叶平’));

捌 、查询全数课程战绩小于伍十几分的同桌的学号、姓名;
select
S#,Sname
from
Student
where
S# not in (select Student.S# from Student,SC where S.S#=SC.S# and
score>60);

⑨ 、查询没有学全全体课的同学的学号、姓名;
select
Student.S#,Student.Sname
from
Student,SC
where
Student.S#=SC.S#
group
by Student.S#,Student.Sname having count(C#) <(select count(C#)
from Course);

10、查询至少有一门课与学号为“1001”的同桌所学相同的同桌的学号和人名;
select
S#,Sname
from
Student,SC
where
Student.S#=SC.S# and C# in (select C# from SC where
S#=’1001’);

1一 、删除学习“叶平”老师课的SC表记录;
Delect
SC
from
course ,Teacher
where
Course.C#=SC.C# and Course.T#= Teacher.T# and Tname=’叶平’;

1贰 、查询各科战表最高和压低的分:以如下格局彰显:课程ID,最高分,最低分
SELECT
L.C# 课程ID,L.score 最高分,R.score 最低分
FROM
SC L ,SC R
WHERE
L.C# = R.C#
and
L.score
= (SELECT MAX(IL.score)
FROM
SC IL,Student IM
WHERE
IL.C# = L.C# and IM.S#=IL.S#
GROUP
BY IL.C#)
and
R.Score
= (SELECT MIN(IR.score)
FROM
SC IR
WHERE
IR.C# = R.C#
GROUP
BY IR.C# );

1三 、查询学终生均战绩及其排名
SELECT
1+(SELECT COUNT( distinct 平均战表)
FROM
(SELECT S#,AVG(score) 平均战绩
FROM
SC
GROUP
BY S# ) T1
WHERE
平均战表 > T2.等分战绩) 排行, S# 学生学号,平均战绩
FROM
(SELECT S#,AVG(score) 平均成绩 FROM SC GROUP BY S# ) T2
O凯雷德DER
BY 平均成绩 desc;

1④ 、查询各科成绩前三名的笔录:(不考虑成绩并列意况)
SELECT
t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数
FROM
SC t1
WHERE
score IN (SELECT TOP 3 score
FROM
SC
WHERE
t1.C#= C#
ORDER
BY score DESC)
ORDER
BY t1.C#;

1⑤ 、查询每门功成绩最棒的前两名
SELECT
t1.S# as 学生ID,t1.C# as 课程ID,Score as 分数
FROM
SC t1
WHERE
score IN (SELECT TOP 2 score
FROM
SC
WHERE
t1.C#= C#
ORDER
BY score DESC )

ORDER
BY t1.C#;

            DOM —— 属性向域的画面集合

            F —— 属性间的多寡依赖关系集合

       4.笛卡尔乘积,接纳和阴影运算如下

图片 4

第三节

壹 、相关概念

     
 1. SQL:结构化查询语言的简称, 是关周详据库的规范语言。SQL 是一种通用的、 作用极强的关全面据库语言, 是对关全面据存取的标准接口, 也是不一致数据库系统之间互操作的底子。集数据查询、数据操作、数据定义、和多少控制效果于一体。

     
 2. 数量定义:数据定义成效蕴涵情势定义、表定义、视图和目录的概念。

     
 3. 嵌套查询:指将2个询问块嵌套在另多个查询块的 WHERE 子句或 HAVING 短语的标准化中的查询。

 
    贰 、主要知识点

       1. SQL
数据定义语句的操作对象有:情势、表、视图和目录。
       2. SQL 数据定义语句的指令动词是:CREATE、DROP 和 ALTE奇骏。
       3. KugaDBMS 中索引一般选取 B+树或 HASH 来完成。
       4. 索引能够分为唯一索引、非唯一索引和聚簇索引三体系型。

图片 5

     
 6.SQL 制造表语句的貌似格式为

            
 CREATE TABLE <表名>

            
 ( <列名> <数据类型>[ <列级完整性约束> ]

            
 [,<列名> <数据类型>[ <列级完整性约束>] ] …

            
 [,<表级完整性约束> ] ) ;

其中<数据类型>可以是数据库系统补助的各样数据类型,包蕴长度和精度。 

相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图