數據庫系統學習二

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);

相關文章
相關標籤/搜索