oracle数据库学习--练习1(表空间与表的创建)

oracle数据库学习–练习1

个人学习所用,并未仔细整理

  • 记录学校实验作业对于sql语句,作为例子练习与参考
创建表空间及数据文件
--创建表空间及数据文件,表空间的名字为 TableSpace_lzq,数据文件的名字为 DBFile_lzq_01.DBF,
CREATE TABLESPACE "TABLESPACELZQ" 
DATAFILE 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\DBFile_lzq_01.DBF' 
SIZE 50M AUTOEXTEND ON NEXT 20M MAXSIZE 300M ;
--文件大小50M, 自动扩展,每次增加20M, 最大值为300M。

--修改表空间,为表空间增加数据文件DBFile_lzq_02.DBF,文件大小50M,不允许自动扩展。
ALTER TABLESPACE 
"TABLESPACELZQ" ADD DATAFILE 'C:\APP\ADMINISTRATOR\ORADATA\ORCL\DBFile_lzq_02.DBF' SIZE 50M
AUTOEXTEND OFF;


--使用数据字典dba_tablespaces 和 dba_data_files 查看所创建的表空间和数据文件信息。
--查看表空间的名字及大小:
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size    
	from dba_tablespaces t, dba_data_files d    where t.tablespace_name = d.tablespace_name   
	group by t.tablespace_name;

创建表

--学生表:Student_lzq,属性为:(Sno 学号, Sname 姓名, Ssex 性别, Sdept 所在院系),
--其中学号Sno主码,其中sno为number,sname为varchar2(10),ssex为char(2),sdept为varchar2(10)。
-- Create table
create table Student_LZQ
(
  sno   number,
  sname varchar2(10),
  ssex  char(2),
  sdept varchar2(10)
)
tablespace TABLESPACELZQ
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
-- Add comments to the columns 
comment on column Student_LZQ.sno
  is '学号';
comment on column Student_LZQ.sname
  is '姓名';
comment on column Student_LZQ.ssex
  is '性别';
comment on column Student_LZQ.sdept
  is '所在院系';
-- Create/Recreate primary, unique and foreign key constraints 
alter table Student_LZQ
  add constraint Sno primary key (SNO);
/*
--简略形式
create table Student_LZQ0
(
  sno   number ,
  sname varchar2(10),
  ssex  char(2),
  sdept varchar2(10),
  primary key(sno)
)
tablespace TABLESPACELZQ
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  )
*/
--课程表:Course_XXX,属性为:(Cno 课程号, Cname 课程名, Cpno 先行课, Ccredit 课程学分),其中课程号Cno主码;先行课为外码参照Course表中Cno字段。其中cno为number,cname为varchar2(10), cpno为number, ccredit为number(2)。
-- Create table
create table Course_LZQ
(
  cno     number,
  cname   varchar2(10),
  cpno    number,
  ccredit number(2)
)
tablespace TABLESPACELZQ
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table Course_LZQ
  add constraint Cno primary key (CNO);
alter table COURSE_LZQ
  add constraint Cpno foreign key (CPNO)
  references course_lzq (CNO)  on  delete  cascade ;
--on  delete  cascade ——级联删除即删除包含主键值的行的操作

--学生选课表:SC_XXX (Sno 学号, Cno 课程号, Grade 成绩)其中(Sno、Cno)为主码;
--Sno为外码参照Student表中sno字段;
--Cno为外码参照Course表中cno字段。
-- Create table
create table SC_LZQ
(
  sno   NUMBER,
  cno   NUMBER not null,
  grade NUMBER
)
tablespace TABLESPACELZQ
  pctfree 10
  initrans 1
  maxtrans 255
  storage
  (
    initial 64K
    next 1M
    minextents 1
    maxextents unlimited
  );
-- Add comments to the columns 
comment on column SC_LZQ.sno
  is '学号';
comment on column SC_LZQ.cno
  is '课程号';
comment on column SC_LZQ.grade
  is '成绩';

-- Create/Recreate primary, unique and foreign key constraints 
alter table SC_LZQ
  add constraint scSno foreign key (SNO)
  references student_lzq (SNO) on  delete  cascade ;
alter table SC_LZQ
  add constraint scCno foreign key (CNO)
  references course_lzq (CNO) on  delete  cascade ;


--在Student表中加入属性出生日期Sbirthday,(date型)。
-- Add/modify columns 
alter table STUDENT_LZQ add sbirthday date;
-- Add comments to the columns 
comment on column STUDENT_LZQ.sbirthday
  is '出生日期';

--修改课程表Course的属性Cname的数据类型为nvarchar2(20)
-- Add/modify columns 
alter table COURSE_LZQ modify cname VARCHAR2(20);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值