SQL基本表の操作

4653 ワード

一、基本表の定義
CREATE TABLE<テーブル名><<列名><データタイプ><<列級完全性制約条件>>[、<列名><データタイプ><<列級完全性制約条件>>
完全な制約条件がテーブルの複数の属性列に関係する場合は、表のレベルで定義されなければならない。ag.「学生」表Studentを作成し、学号はメインコードで、名前は唯一価値を取ります。
CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, /*          */ Sname CHAR(20) UNIQUE, /* Sname    */ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20) ); 
またはこのように定義します。
CREATE TABLE Student (Sno CHAR(9), Sname CHAR(20) UNIQUE, /* Sname    */ Ssex CHAR(2), Sage SMALLINT, Sdept CHAR(20), PRIMARY KEY (Sno) /*          */ ); 
「課程」表のCourseを作る
      CREATE TABLE Course ( Cno CHAR(4) PRIMARY KEY, Cname CHAR(40), Cpno CHAR(4) , Ccredit SMALLINTFOREIGN KEY (Cpno) REFERENCES Course(Cno) ); //Cpno        Course     Cno
「学生選択」表SCを作成する。
CREATE TABLE SC ( Sno CHAR(7), Cno CHAR(4), Grade SMALLINTPRIMARY KEY (Sno,Cno), /*          ,             */ FOREIGN KEY (Sno) REFERENCES Student(Sno), /*          ,Sno   ,     Student */ FOREIGN KEY (Cno) REFERENCES Course(Cno) /*          , Cno   ,     Course*/ ); 
二、基本表の修正
ALTER TABLE <  >
[ ADD <   > <    > [       ] ]
[ DROP <      > ]
[ ALTER COLUMN<  > <    > ];
  • 列ALTER TABLE Student ADD_を追加します。entrance DATE
  • 表列の性質を変えるALTER TABLE Student ALTER COLUMN Sage INT;
  • 三、基本表を削除する
    DROP TABLE<表名><RESTRICT_CASCADE>
    RESTRICT:表の削除には制限があります。削除したい基本テーブルは他のテーブルの制約によって参照できません。このテーブルに依存するオブジェクトがあれば、CASCADEを削除することはできません。基本テーブルを削除しながら、依存するオブジェクトを削除します。
    四、パターンと表
    各基本テーブルはいずれかのモードの一つのモードに属しています。複数の基本テーブル定義の基本テーブルの属するモード方法を含みます。一、表名にパターン名Create table「S-T」を明示的に与えます。Student(…);モード名はS-T/Createテーブル「S-T」.Cource(…);Create table「S-T」.SC(…);方法2:パターン文の作成中に表方法を同時に作成する3:所属モードを設定する
    基本テーブルを作成する場合(他のデータベースオブジェクトも同じ)、指定モードがない場合、システムは検索経路に基づいて当該オブジェクトが属するモードRDBMSを特定し、モードリストの中で最初に存在するモードをデータベースオブジェクトのモード名として使用します。検索パスの中のモード名が存在しない場合、システムは現在の検索パスをエラー表示します。パス検索パスの現在のデフォルトは、USer、PUBLICです。
    DBAユーザは検索パスを設定し、基本テーブルSET search ch ch ch uを定義することができます。path TO「S-T」、PUBLIC;Create table Student(…);その結果、S-T.Student基本表が作成されました。RDBMSは検索経路における最初のモード名S-Tが存在することを発見し、このモードをベーステーブルStudentが属するモードとする。