第3章 数据库的创建和操作
3. 1 以界面方式创建数据库(采用DBCA)
(9)在“初始化参数”和“创建选项”窗口中也保持默认配置,两次单击 “下一步”按钮。
(10)系统执行先决条件检查,然后出现“概要”窗口,其中罗列出将要创 建数据库的详细配置信息,如图3.8所示,确认后单击“完成”按钮开始创建过程。
3. 1 以界面方式创建数据库(采用DBCA)
3.2.1 表操作
2.数据类型 在设计表的列时,必须为其指定数据类型,它决定了该列数据的取值、范围和 存储格式。列的数据类型可以是Oracle提供的系统数据类型,其中主要的类型列于 表3.2中。
3.2.1 表操作
3.表结构设计 创建表的实质就是定义表结构以及设置表和列的属性。创建表之前,先要确定 表的名字、表的属性,同时确定表所包含的列名、列的数据类型、长度、是否可为 空值、约束条件、默认值设置、规则以及所需索引、哪些列是主键、哪些列是外键 等属性,这些属性构成表结构。 这里以本书要使用到的学生成绩管理系统的三个表:学生表(表名为XSB)、 课程表(表名为KCB)和成绩表(表名为CJB)为例介绍如何设计表的结构。 最终设计出XSB的表结构如表3.3所示。
性别 男 女 男
男
女
出生时间 1997-02-10 1996-10-06 1996-08-05
1996-01-29
1996-02-10
专业 计算机 计算机 计算机
通信工程
通信工程
总学分 50 50 52
40
42
备注
已提前修完一门课 有一门课不及格,待补
考
3.2.1 表操作
关系数据库使用表(即关系)来表示实体及其联系。表包含下列概念。 (1)表结构:每个表都包含一组固定的列,而列由数据类型(DATATYPE) 和长度(LENGTH)两部分组成,以描述该表所代表的实体的属性。 (2)记录:每个表包含了若干行数据,它们是表的“值”,其中的一行称为 一个记录,因此,表是记录的有限集合。 (3)字段:每个记录由若干个数据项构成,将构成记录的数据项称为字段。 例如,表3.1的XSB,其表结构为(学号,姓名,性别,出生时间,专业,总学 分,备注),包含7个字段,由5个记录组成。 (4)关键字:若表中记录的某个字段或字段组合能唯一标识记录,则称该字 段(字段组合)为候选关键字(Candidate Key)。若一个表有多个候选关键字, 则选定其中一个为主关键字(Primary Key),也称为主键。
3. 1 以界面方式创建数据库(采用DBCA)
(4)在“数据库标识”窗口的“全局数据库名”和“SID”框中,均输入数 据库名“XSCJ”,如图3.4所示,单击“下一步”按钮。
3. 1 以界面方式创建数据库(采用DBCA)
(5)在“管理选项”窗口中可以选择配置Enterprise Manager企业管理器或 者配置Cloud Control管理云,这里保持默认设置,如图3.5所示,单击“下一步” 按钮。
3. 1 以界面方式创建数据库(采用DBCA)
(6)在“数据库身份证明”窗口中为SYS和SYSTEM账户指定口令,这里输 入SYS的口令为Change_on_install123;SYSTEM口令为Manager123。另外,输 入Oracle主目录用户口令Mm123456,如图3.6所示,单击“下一步”按钮。
3. 1 以界面方式创建数据库(采用DBCA)
(7)在接下来的“网络配置”、“存储位置”窗口中都采取默认的配置,两 次单击“下一步”按钮继续。
(8)在“数据库选项”窗口中勾选“示例方案”,如图3.7所示,这样就可以 在学习的过程中参考标准设置,也可了解基础的数据库创建方法和SQL语言。如果 你有SQL脚本,还可以在这一步加载,系统会根据脚本在这个数据库中创建用户、 表空间、表、权限等,但要注意,加载SQL脚本的先后顺序一定要正确。这里暂不 加载脚本,直接单击“下一步”按钮。
3. 3 命令方式操作数据库(采用 SQL*Plus)
3.3.1 创建表
在以自己的模式创建表时,必须拥有CREATE TABLE系统权限;在其他用户 模式下创建表时,必须拥有CREATE ANY TABLE系统权限。Oracle创建表使用 CREATE TABLE语句,基本的语法格式为:
);
3.2.3 执行SQL命令
图3.22 在SQL Developer中运行SQL语句
3.2.3 执行SQL命令
这里是以执行创建表的CREATE TABLE命令(在3.3节中详细介绍)为例,操 作前须先删除之前已创建的XSB表,输完命令后单击窗口上方的 或 按钮即可 执行该SQL语句重新创建XSB表。表建好后,往其中录入样本数据(见附录A)以 备后用,如图3.23所示。
CREATE TABLE XSB
(
学号 char(6)
NOT NULL
PRIMARY KEY,
姓名 char(8)
NOT NULL,
性别 char(2)
DEFAULT '男' NOT NULL,
出生时间 date
NOT NULL,
专业 char(12)
NULL,
总学分 number(2)
NULL,
备注 varchar2(200) NULL
第3章 数据库的创建和操作
3. 1 以界面方式创建数据库(采用DBCA) 3. 2 以界面方式操作数据库(采用SQL Developer) 3. 3 命令方式操作数据库(采用SQL*Plus)
3. 1 以界面方式创建数据库(采用DBCA)
下面使用DBCA创建学生成绩管理数据库XSCJ,步骤如下。 (1)启动DBCA,出现“数据库操作”窗口,如图3.1所示,选择“创建数据 库”选项,单击“下一步”按钮。
3. 1 以界面方式创建数据库(采用DBCA)
(13)单击“完成”窗口中的“口令管理”按钮,弹出“口令管理”对话框, 如图3.11所示。
3. 1 以界面方式创建数据库(采用DBCA)
至此,所有步骤都已经全部完成,单击“确定”按钮回到“完成”窗口,单击 “关闭”按钮即可。现在,系统服务中应该已经有SID为XSCJ的服务选项,并且已 置为“自动”启动,服务正在运行,如 图3.12所示,访问XSCJ数据库前必须 保证已启动了这两个系统服务:OracleOraDB12Home1TNSListener和 OracleServiceXSCJ。
3. 1 以界面方式创建数据库(采用DBCA)
(2)在“创建模式”窗口中选择“高级模式”,如图3.2所示,单击“下一步” 按钮。
3. 1 以界面方式创建数据库(采用DBCA)
(3)在“数据库模板”窗口中,选择相应选项后单击“显示详细信息”按钮可 以查看该数据库模板的各种信息。这里选择“一般用途或事务处理”选项,如图3.3 所示,单击“下一步”按钮。
3.2.1 表操作
6.删除表
以删除XSB表为例,在“表”目录下右击XSB表选择“表”菜单下的“删除”
子菜单项,如
图3.16所示,之后弹出“删除”确认对话框,选中“级联约束
条件”复选框,单击“应用”按钮,弹出表已删除的提示消息,单击“确定”按钮
即可。
3.2.2 表数据操作
1.插入记录 首先,启动SQL Developer,打开myorcl连接(需要输入SCOTT用户口令), 展开“表”目录,单击“XSB”表,在右边窗口中单击“数据”选项卡,切换到表 数据窗口,如图3.17所示。
3. 2 以界面方式操作数据库(采用SQL Developer)
3.2.1 表操作
1.表的概念 表是日常工作和生活中经常使用的一种表示数据及其关系的形式,表3.1就是 用来表示学生信息的一个学生表。
学号 151101 151103 151108
151202
151204
姓名 王林 王燕 林一帆
王林
马琳琳
3.2.3 执行SQL命令
使用SQL Developer不仅可以以图形界面方式操作数据库表中的记录,还可以
直接编辑和运行SQL语句。启动SQL Developer,在主界面展开myorcl连接,单击
工具栏 按钮的右下箭头选择“myorcl”(需要输入SCOTT用户口令),界面中将
弹出“工作表”窗口,如图3.22所示,在窗口中输入要运行的SQL语句,如下:
√ ×
默认值 无 无
1 0 0
说明 主键
只能为1~8
列名
表3.5 CJB的表结构
数据类型
是否可空
默认值
说明
学号
char(6)
×
无
主键
课程号
char(3)
×
无
主键
成绩
number(2)
√
无
3.2.1 表操作
4.创建表 (1)启动SQL Developer,在“连接”节点下打开数据库连接myorcl(已创 建)。右击“表”节点,选择“新建表”菜单项。 (2)进入“创建表”窗口,在“名称”栏中填写表名XSB,在“表”选项卡 的“列名”、“类型”、“大小”、“非空”、“主键”栏中分别填入(选择) XSB表的“学号”列的列名、数据类型、长度、非空性和是否为主键等信息,完成 后单击“添加列”按钮输入下一列,直到所有的列输入完为止,如 图3.13所示。
列名 学号 姓名 性别 出生时间 专业 总学分 备注
数据类型 char(6) char(8) char(2) date char(12)
number(2) varchar2(200)
是否可空 × × × × √ √ √
默认值 无 无
“男” 无 无
0 无
说明 主键
0 ≤总学分<100
3.2.1 表操作
3.2.2 表数据操作
3.删除记录 如果要删除一行记录,选中该行,单击 (删除所选行)按钮,之后该行的行 号前会显示一个“-”号,如图3.20所示,单击“提交更改”按钮确认删除。