Oracle練習 第9章 表和約束

2021-06-23 03:30:06 字數 2466 閱讀 8497

1.請分析按照以下要求都需要建立什麼型別的字段

(1)最大2000個位元組定長字串 char(2000)

(2)如果輸入』張三』 後添空格6個 char(10) 

(3)性別輸入』男』或』女』 char(2)

(4)最大4000個位元組變長字串  varchar2

(5)如果在資料庫中輸入'張三'則顯示資料'張三'  nvarchar2 

(6)表示數字範圍為10的-38次方到10的38次方, 可以表示小數 也可以表示整數

(7)  最大表示4位整數  -9999 到 9999 

(8) 表示5位有效數字 2位小數的 乙個小數  -999.99 到 999.99 number

(9) 包含年月日和時分秒  7個位元組 date

(10) 二進位製大物件影象/聲音  4g nvarchar2

2.建立表空間mttabase crate table mtabase datafile 『路徑

+表空名

' size ;

3.請上機按照如下步驟操作:

(1)建立學生表student,欄位有:學號(主鍵),姓名,性別,日期,獎學金

(2)建立班級表class,欄位有班級編號(主鍵),班級名稱,班級人數

(3)在student表新增字段(學生所在班級classid) 

(4)修改欄位的長度學生姓名可以輸入6個漢字

(5)修改欄位的型別,將學號修改為5位元組字串

(6)通過子查詢,修改每個班級的班級人數字段的資料

--9.3.1

create

table

student   (

xh char(4

) not

null,

xm varchar2(10

), *** 

char(2

), birthday 

date,

sal 

number(7

,2),

constraint

pk_xh 

primary

key(xh)      );

--9.3.2

create

table

class(

classid 

char(4

) not

null,

name

varchar2(10

), su number(7

), constraint

pk_class_id 

primary

key(classid)      );

--9.3.3

alter

table

student 

add(classid 

char(4

));

--9.3.4

alter

table

student 

modify

(xm 

varchar(12

));

--9.3.5

alter

table

student 

modify

(xh 

char(5

));

--9.3.6

update

class

c set

su=(

select

count

(*) 

from

student s 

where

c.classid= s.classid);

4.建立copy_dept,要求格式同dept表完全一樣,不包含資料

create

table

copy_dept 

asselect

* from

dept 

where1=

2 5.建立copy_emp,要求格式同emp表完全一樣,不包含資料

create

table

copy_emp as

select

* from

emp where1=

2 6.設定copy_emp表中外鍵deptno,參照copy_dept中deptno,語句能否成功,為什麼?

alter

table

copy_emp 

addconstraint

pk_deptno 

primary

key(deptno) 

references

copy_dept(deptno);不能

7.設定copy_dept表中主鍵deptno

alter

table

copy_dept 

addconstraint

pk_depno 

primary

key(deptno)

Oracle的表建立和約束

oracle建立表同sql server一樣,使用create table命令來完成。建立約束則使用如下命令 語法格式 altertable命令 alter table 表名add constraint d4 約束名約束內容。不論建立表還是約束,與sql server基本相同,注意 在oracle中...

oracle建立表和約束的SQL語句

1 建立模擬的資料表 1.1.建立學生表student create table student stuid number not null,學生id stuname varchar2 10 not null,名稱 gender varchar2 10 not null,性別 age number ...

C primer plus第9章程式設計練習答案

程式設計練習答案是我學習過程中所敲,作為乙個學渣,答案是以完成習題和易理解為導向,很少有一些五彩繽紛的演算法。程式僅作為交流,如有錯誤與不足還請指出。9.11.1 include stdio.h double min double x,double y intmain void 片9.11.2 in...