1、SQL數據庫的體系結構要點以下:數據庫
一、一個SQL模式(Scheme)是表和約束的集合; ----->SQL模式(scheme)又名數據庫(database)dom
二、一個表由行集構成,一行是列的序列,每列對應一個數據項;測試
三、表有三種類型:基本表、視圖、導出表。基本表是實際存儲在數據庫中的表,視圖是由若干基本表或其餘視圖構成的表的定義,而導出表是執行查詢時產生的表。spa
2、SQL的組成:索引
核心SQL主要四個部分:事務
一、數據定義語言:即SQL DDL,用於定義SQL模式,基本表、視圖、索引等結構。域名
二、數據操縱語言:即SQL DML。數據庫操做分紅數據查詢和數據更新兩類,而數據更新又分爲插入、刪除、修改。table
三、嵌入式SQL語言的使用規定,語法
四、數據控制語言:即SQL DCL。這一部分包括對基本表和視圖的受權、完整性規則的描述、事務控制等內容。引用
3、數據庫的語句(語句測試數據庫用的是MySQL)
數據庫建立:create database <數據庫名>
刪除數據庫:drop database <數據庫名>[CASCADE][RESTRICT]
CASCADE(級聯式)方式:執行DROP語句時,只要SQL模式(數據庫)及其下屬的基本表,視圖、索引等全部元素所有撤銷。
RESTRICT(約束式)方式:執行DROP語句時,只有當SQL模式(數據庫)中沒有任何下屬元素時,才能撤銷SQL模式,不然拒絕執行DROP語句。
SQL容許用戶使用「create domain」語句定義新的域,好比定義一個新的域PERSON_NAME:
CREATE DOMAIN PERSON_NAME CHAR(8);
這樣就能夠像使用基本類型同樣,用域名PERSON_NAME來定義屬性的類型。
基本表的建立:
CREATE TABLE <表名>
( <列名 類型>,
。。。
<完整性約束>,
。。。
)
eg: create table c
( C# CHAR(4),
CNAEM CHAR(10) NOT NULL,
T# CHAR(4),
PRIMARY KEY(C#),
FOREIGN KEY(T#) REFERENCES T(T#)
);
在基本表 C 的定義中說明了主鍵是C#,外鍵是T#。並指出看外鍵T#和基本表T中的T#類對應,此處對應的列名剛好相同,
實際上也能夠不一樣名,只要指出其對應性便可(也就是說C表中的T#能夠改爲M等等,只要指出他,和其餘表中的那個屬性對應便可),
外鍵體現了關係數據庫的參照完整性。外鍵的取值:空或者主鍵值。
基本表的修改:
一、增長新的列用「alter ...add...」語句,其句法以下:
alter table <基本表名> add<列名><類型>
eg:在基本表S中添加一個地址(address)列
alter table S add address varchar(30);
應該注意:新增長的列不能定義爲「not null」 。基本表在增長一列後,原有元組在新增長的列上的值都是被定義爲空值(null);
二、刪除原有的列用「alter ... drop...」語句,其句語法以下:
alter table <基本表名> drop <列名>[CASCADE][RESTRICT]
此處的CASCADE方式表示:在基本表中刪除某列時,全部引用到該列的視圖和約束也要一塊兒自動的被刪除,而RESTRICT方式表示,
在沒有視圖或約束引用該屬性時,才能在基本表中刪除該列,不然拒絕刪除操做。
三、修改基本表S中S#的長度修改成6 能夠下列語句:
alter table S modify S# char(6);