日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

笔记:SQL概述及数据定义(模式SCHEMA、表TABLE、索引INDEX)

發(fā)布時(shí)間:2023/12/29 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 笔记:SQL概述及数据定义(模式SCHEMA、表TABLE、索引INDEX) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?SQL概述及數(shù)據(jù)定義(模式SCHEMA、表TABLE、索引INDEX)的學(xué)習(xí)筆記。修改與補(bǔ)充

目錄

0.前言

1.思維導(dǎo)圖

2.SQL概述

(1)什么是SQL?

(2)SQL的特點(diǎn)

(3) SQL的基本概念

3.數(shù)據(jù)字典

4.數(shù)據(jù)定義

(1)數(shù)據(jù)定義概覽

?(2)模式的定義與刪除—SCHEMA

?(3)基本表的定義、刪除與修改—TABLE

(4)索引的建立與刪除—INDEX?


0.前言

  • 此文章是根據(jù)《數(shù)據(jù)庫(kù)系統(tǒng)概論》王珊老師編寫的教材做的筆記和總結(jié),關(guān)于用到的表在另一篇文章里面《數(shù)據(jù)庫(kù)系統(tǒng)概論》之?dāng)?shù)據(jù)查詢—SELECT(單表查詢、連接查詢、嵌套查詢、集合查詢、多表查詢)
  • 數(shù)據(jù)庫(kù)是SQL Sever
  • 數(shù)據(jù)庫(kù)管理系統(tǒng)是Navicat Premium 15

1.思維導(dǎo)圖

2.SQL概述

(1)什么是SQL?

  • SQL(Structured Query Language)結(jié)構(gòu)化查詢語言,是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語言
  • SQL是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)語言

(2)SQL的特點(diǎn)

① 綜合統(tǒng)一

  • 集數(shù)據(jù)定義語言 DDL(Data Definition Language),數(shù)據(jù)操縱語言 DML(Data Manipulation Language),數(shù)據(jù)控制語言 DCL(Data Control Language) 功能于一體。
  • 可以獨(dú)立完成數(shù)據(jù)庫(kù)生命周期中的全部活動(dòng):
    • 定義關(guān)系模式,插入數(shù)據(jù),建立數(shù)據(jù)庫(kù);
    • 對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢和更新;
    • 數(shù)據(jù)庫(kù)重構(gòu)和維護(hù)
    • 數(shù)據(jù)庫(kù)安全性、完整性控制等
  • 用戶數(shù)據(jù)庫(kù)投入運(yùn)行后,可根據(jù)需要隨時(shí)逐步修改模式,不影響數(shù)據(jù)的運(yùn)行。
  • 數(shù)據(jù)操作符統(tǒng)一

② 高度非過程化

  • 非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語言“面向過程”,必須制定存取路徑
  • SQL只要提出“做什么”,無須了解存取路徑。
  • 存取路徑的選擇以及SQL的操作過程由系統(tǒng)自動(dòng)完成。

③ 面向集合的操作方式

  • 非關(guān)系數(shù)據(jù)模型采用面向記錄的操作方式,操作對(duì)象是一條記錄
  • SQL采用集合操作方式:
    • 操作對(duì)象、查找結(jié)果可以是元組的集合
    • 一次插入、刪除、更新操作的對(duì)象可以是元組的集合

④ 以同一種語法結(jié)構(gòu)提供多種使用方式

  • SQL是獨(dú)立的語言
    • 能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式
  • SQL又是嵌入式語言
    • SQL能夠嵌入到高級(jí)語言(例如C,C++,Java)程序中,供程序員設(shè)計(jì)程序時(shí)使用

⑤ 語言簡(jiǎn)潔,易學(xué)易用

  • SQL功能極強(qiáng),完成核心功能只用了9個(gè)動(dòng)詞。

(3) SQL的基本概念

  • SQL支持關(guān)系數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu)

視圖

  • 從一個(gè)或幾個(gè)基本表導(dǎo)出的表
  • 數(shù)據(jù)庫(kù)中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù)
  • 視圖是一個(gè)虛表
  • 用戶可以在視圖上再定義視圖

基本表

  • 本身獨(dú)立存在的表
  • SQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)基本表
  • 一個(gè)(或多個(gè))基本表對(duì)應(yīng)一個(gè)存儲(chǔ)文件
  • 一個(gè)表可以帶若干索引

存儲(chǔ)文件

  • 邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫(kù)的內(nèi)模式
  • 物理結(jié)構(gòu)是任意的,對(duì)用戶透明

數(shù)據(jù)庫(kù)的三級(jí)模式?

數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)結(jié)構(gòu)是三級(jí)模式結(jié)構(gòu),它包括外模式、概念模式、內(nèi)模式。

  • 外模式,又稱用戶模式,對(duì)應(yīng)于用戶級(jí)。它是某個(gè)或某幾個(gè)用戶所看到的數(shù)據(jù)庫(kù)的數(shù)據(jù)視圖,含模式中允許特定用戶使用的那部分?jǐn)?shù)據(jù)。
  • 概念模式,它是由數(shù)據(jù)庫(kù)設(shè)計(jì)者綜合所有用戶的數(shù)據(jù),包含基本表,按照統(tǒng)一的觀點(diǎn)構(gòu)造的全局邏輯結(jié)構(gòu),是對(duì)數(shù)據(jù)庫(kù)中全部數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的總體描述。
  • 內(nèi)模式又稱存儲(chǔ)模式,對(duì)應(yīng)于物理級(jí)。它是數(shù)據(jù)庫(kù)中全體數(shù)據(jù)的內(nèi)部表示或底層描述,包含存儲(chǔ)文件,描述了數(shù)據(jù)在存儲(chǔ)介質(zhì)上的存儲(chǔ)方式和物理結(jié)構(gòu),對(duì)應(yīng)著實(shí)際存儲(chǔ)在外存儲(chǔ)介質(zhì)上的數(shù)據(jù)庫(kù)。

3.數(shù)據(jù)字典

  • 數(shù)據(jù)字典是關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)內(nèi)部的一組系統(tǒng)表,它記錄了數(shù)據(jù)庫(kù)中所有的定義信息,包括關(guān)系模式定義、視圖定義、索引定義、完整性約束定義、各類用戶對(duì)數(shù)據(jù)庫(kù)的操作權(quán)限、統(tǒng)計(jì)信息等。
  • 關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)在執(zhí)行SQL的數(shù)據(jù)定義語句時(shí),實(shí)際上就是在更新數(shù)據(jù)字典表中的相應(yīng)信息。
  • 在進(jìn)行查詢優(yōu)化和查詢處理時(shí),數(shù)據(jù)字典中的信息是其重要依據(jù)。

4.數(shù)據(jù)定義

(1)數(shù)據(jù)定義概覽

  • SQL的數(shù)據(jù)定義功能:?模式定義、表定義、視圖索引的定義

?(2)模式的定義與刪除—SCHEMA

定義模式實(shí)際上定義了一個(gè)命名空間

  • 在這個(gè)空間中可以定義該模式包含的數(shù)據(jù)庫(kù)對(duì)象,例如基本表、視圖、索引等。
  • 在CREATE SCHEMA中可以接受CREATE TABLE,CREATE VIEW和GRANT子句。
  • CREATE SCHEMA <模式名> AUTHORIZATION <用戶名>[<表定義子句>|<視圖定義子句>|<授權(quán)定義子句>]
  • 如果沒有指定<模式名>,那么<模式名>隱含為<用戶名>

?① 給用戶分配定義模式

dbo database owner 數(shù)據(jù)庫(kù)的創(chuàng)建者,創(chuàng)建該對(duì)象的用戶. guest 顧客 能夠訪問數(shù)據(jù)庫(kù)中對(duì)象的數(shù)據(jù), 要求dbo分配權(quán)限給guest, 一般給他查看的權(quán)限select

這里我先創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)用戶:

?[例1]定義一個(gè)學(xué)生-課程模式S-T

CREATE SCHEMA "S-T" AUTHORIZATION BitHachi;為用戶BitHachi定義了一個(gè)模式S-T

  • 如果沒有指定<模式名>,那么<模式名>隱含為<用戶名>
CREATE SCHEMA AUTHORIZATION BitHachi;<模式名>隱含為用戶名BitHachi這個(gè)不知道咋回事,沒出結(jié)果,默認(rèn)模式BitHachi沒創(chuàng)建出來,沒顯示

?[例2]為用戶BitHachi創(chuàng)建了一個(gè)模式S-T,并在其中定義了一個(gè)表TAB1。

CREATE SCHEMA "S-T" AUTHORIZATION BitHachi CREATE TABLE TAB1( COL1 SMALLINT, COL2 INT, COL3 CHAR(20), COL4 NUMERIC(10,3), COL5 DECIMAL(5,2) );

② 刪除模式?

  • DROP SCHEMA <模式名> <CASCADE|RESTRICT>
  • CASCADE(級(jí)聯(lián))
    刪除模式的同時(shí)把該模式中所有的數(shù)據(jù)庫(kù)對(duì)象全部刪除
  • RESTRICT(限制)
    如果該模式中定義了下屬的數(shù)據(jù)庫(kù)對(duì)象(如表、視圖等),則拒絕該刪除語句的執(zhí)行。
  • 當(dāng)該模式中沒有任何下屬的對(duì)象時(shí)才能執(zhí)行。
  • 以下是運(yùn)行結(jié)果,至于為什么是錯(cuò)誤的,暫且放在這里,等熟悉相關(guān)知識(shí)之后,再來解決。
DROP SCHEMA "S-T" CASCADE;

DROP SCHEMA "S-T" RESTRICT;

?(3)基本表的定義、刪除與修改—TABLE

① 定義基本表的標(biāo)準(zhǔn)格式

CREATE TABLE <表名>(<列名> <數(shù)據(jù)類型>[ <列級(jí)完整性約束條件> ][,<列名> <數(shù)據(jù)類型>[ <列級(jí)完整性約束條件>] ]………[,<表級(jí)完整性約束條件> ]);
  • 如果完整性約束條件涉及到該表的多個(gè)屬性列,則必須定義在表級(jí)上,否則既可以定義在列級(jí)也可以定義在表級(jí)。

    ② 數(shù)據(jù)類型

  • SQL中域的概念用數(shù)據(jù)類型來實(shí)現(xiàn)

  • 定義表的屬性時(shí) 需要指明其數(shù)據(jù)類型及長(zhǎng)度

  • 選用哪種數(shù)據(jù)類型

    • 取值范圍
    • 要做哪些運(yùn)算
  • 以下是通用數(shù)據(jù)類型,不同數(shù)據(jù)庫(kù)的數(shù)據(jù)類型可能有所不同,可查相關(guān)文檔。

③ 修改基本表?

ALTER TABLE <表名> [ ADD <新列名> <數(shù)據(jù)類型> [ 完整性約束 ] ] [ DROP <完整性約束名> ] [ ALTER COLUMN<列名> <數(shù)據(jù)類型> ];

[例8]向Student表增加“入學(xué)時(shí)間”列,其數(shù)據(jù)類型為日期型。

  • 不論基本表中原來是否已有數(shù)據(jù),新增加的列一律為空值。 ALTER TABLE Student ADD S_entrance DATE;

[例9]將年齡的數(shù)據(jù)類型由字符型(假設(shè)原來的數(shù)據(jù)類型是字符型)改為整數(shù)。?

ALTER TABLE Student ALTER COLUMN Sage INT;

④ 刪除基本表

標(biāo)準(zhǔn)格式:
DROP TABLE <表名>[RESTRICT| CASCADE];

  • RESTRICT:刪除表是有限制的。
    • 欲刪除的基本表不能被其他表的約束所引用
    • 如果存在依賴該表的對(duì)象,則此表不能被刪除
  • CASCADE:刪除該表沒有限制。
    • 在刪除基本表的同時(shí),相關(guān)的依賴對(duì)象一起刪除

[例11] 刪除Student表

  • 基本表定義被刪除,數(shù)據(jù)被刪除
  • 表上建立的索引、視圖、觸發(fā)器等一般也將被刪除
  • 還是和上述刪除模式情況一樣,加了CASCADE和RESTRUCT刪除不了 DROP TABLE Student CASCADE ;

[例12]若表上建有視圖,選擇RESTRICT時(shí)表不能刪除?

CREATE VIEW IS_Student AS SELECT Sno,Sname,SageFROM StudentWHERE Sdept='IS';DROP TABLE Student RESTRICT;

[例12]如果選擇CASCADE時(shí)可以刪除表,視圖也自動(dòng)被刪除

DROP TABLE Student CASCADE; --NOTICE: drop cascades to view IS_StudentSELECT * FROM IS_Student; --ERROR: relation " IS_Student " does not exist

(4)索引的建立與刪除—INDEX?

建立索引的目的:·加快查詢速度·

  • 誰可以建立索引?

    • DBA 或 表的屬主(即建立表的人)
    • DBMS一般會(huì)自動(dòng)建立以下列上的索引
    • PRIMARY KEY
    • UNIQUE
  • 誰維護(hù)索引?
    DBMS自動(dòng)完成

  • 使用索引
    DBMS自動(dòng)選擇是否使用索引以及使用哪些索引

  • RDBMS中索引一般采用B+樹、HASH索引來實(shí)現(xiàn)

    • B+樹索引具有動(dòng)態(tài)平衡的優(yōu)點(diǎn)
    • HASH索引具有查找速度快的特點(diǎn)
  • 采用B+樹,還是HASH索引 則由具體的RDBMS來決定

  • 索引是關(guān)系數(shù)據(jù)庫(kù)的內(nèi)部實(shí)現(xiàn)技術(shù),屬于內(nèi)模式的范疇

  • CREATE INDEX語句定義索引時(shí),可以定義索引是唯一索引、非唯一索引或聚簇索引

① 建立索引的標(biāo)準(zhǔn)格式?

語句格式

CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>] ]…);

[例13]在Student表的Sname(姓名)列上建立一個(gè)聚簇索引

CREATE CLUSTERED INDEX StusnameON Student(Sname);

  • 在Student表的Sname(姓名)列上建立一個(gè)聚簇索引
  • 在最經(jīng)常查詢的列上建立聚簇索引以提高查詢效率
  • 一個(gè)基本表上最多只能建立一個(gè)聚簇索引
  • 經(jīng)常更新的列不宜建立聚簇索引

[例14]為學(xué)生-課程數(shù)據(jù)庫(kù)中的Student,Course,SC三個(gè)表建 立索引。

  • Student表按學(xué)號(hào)升序建唯一索引
  • Course表按課程號(hào)升序建唯一索引
  • SC表按學(xué)號(hào)升序和課程號(hào)降序建唯一索引 CREATE UNIQUE INDEX Stusno ON Student(Sno); CREATE UNIQUE INDEX Coucno ON Course(Cno); CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);

    ??

② 刪除索引?

DROP INDEX <索引名> ON <表名>;
DROP INDEX <表名>.<索引名>;
?

  • 刪除索引時(shí),系統(tǒng)會(huì)從數(shù)據(jù)字典中刪去有關(guān)該索引的
    描述。

[例15] 刪除Student表的Stusname索引

DROP INDEX Stusno ON Student;//等價(jià)DROP INDEX Student.Stusno;

總結(jié)

以上是生活随笔為你收集整理的笔记:SQL概述及数据定义(模式SCHEMA、表TABLE、索引INDEX)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品在线视频一区二区 | av无毛| 成人免费看片98欧美 | 日本不卡免费在线 | 亚洲熟妇无码乱子av电影 | 婷婷欧美 | 美女尻逼视频 | 国产精品日韩一区 | 看特级黄色片 | 久久成人综合网 | 国产中文网 | 91偷拍网站 | 亚洲夜色 | 老熟妇一区二区三区啪啪 | 国产精品乱轮 | 美女日日日 | 精品盗摄一区二区三区 | 婷婷国产 | 日本精品一区视频 | 日日爽夜夜爽 | 乱熟女高潮一区二区在线 | 国产露脸无套对白在线播放 | 麻豆激情视频 | 精品久久久影院 | 秋霞精品| 狠狠综合 | 熟睡侵犯の奶水授乳在线 | 人人综合 | 欧美亚洲网站 | 污视频网址 | 亚洲精品第五页 | 国产又粗又黄又爽又硬的视频 | 91精品国产闺蜜国产在线闺蜜 | 精品黄色在线观看 | 天堂va欧美va亚洲va老司机 | 亚洲av人无码激艳猛片服务器 | 少妇把腿扒开让我舔18 | 69影院少妇在线观看 | 在线视频亚洲欧美 | 天天爽一爽 | 精品国产午夜 | 麻豆视频在线观看免费网站黄 | 中国女人av| 国产精品一区二区免费在线观看 | 老司机在线免费视频 | 少妇喷白浆 | 一本久道久久综合 | 亚洲性图一区二区 | 小柔好湿好紧太爽了国产网址 | 欧美 日韩 国产 激情 | 欧美啪啪一区二区 | 国产成人精品视频一区二区 | 国产av剧情一区二区三区 | 国产午夜不卡 | 亚洲黄色免费网站 | 老外黄色一级片 | 超碰天天操| 日韩国产在线一区 | 国产欧美日韩一区 | 韩国毛片一区二区三区 | 乱一色一乱一性一视频 | 中文字字幕码一二三区 | 欧美69囗交视频 | 国产无码精品在线观看 | 亚洲国产www| 公妇借种乱htp109cc | 91麻豆精品国产91久久久久久久久 | 国产中文一区二区 | 日本美女毛茸茸 | 香蕉视频黄版 | 亚洲精品www久久久久久广东 | 91九色蝌蚪91por成人 | 二三区视频 | 三级免费网站 | 久久久欧美精品 | 人人涩| 11孩岁女毛片 | av女大全列表 | 香蕉视频网站在线观看 | 日本免费三片在线播放 | 免费av一级 | 狠狠v欧美v日韩v亚洲ⅴ | 亚欧成人精品一区二区 | 色呦呦网站在线观看 | 日韩欧美精品在线 | 国产色婷婷一区二区 | 蜜桃精品视频在线观看 | 亚洲高清毛片一区二区 | 日本人妻丰满熟妇久久久久久 | 少妇与公做了夜伦理 | 中文字幕在线官网 | 性生活一区 | 中文字幕一区二区三区电影 | 麻豆chinese极品少妇 | 97超碰人人看 | 性xxxx狂欢老少配o | 日本a级在线 | 亚洲干综合 | 日本高清久久 |