文章目录
-
- 3.1 下载 Oracle
- 3.2 安装 Oracle
- 3.3 连接数据库
- 3.4 创建示例表
本篇介绍 Windows 10 平台上如何安装 Oracle 19c 数据库,以及专栏使用的示例表和初始化数据的创建。
3.1 下载 Oracle
我们通过官方网站下载 Oracle 软件,打开 Oracle 数据库软件下载页面:
选择 Microsoft Windows x64 (64-bit) 对应的 ZIP 文件,同意 Oracle 协议并点击下载;如果需要登录 Oracle 帐户,可以免费注册一个。
3.2 安装 Oracle
解压下载的 zip 文件,注意目录不能有特殊字符或者中文。然后运行目录中的 setup.exe 文件进行安装:
第 1 步保持不变,也就是创建并配置单实例数据库,点击“下一步”按钮:
第 2 步可以选择数据库系统类型,自己使用的话用“桌面类”就可以了,“服务器类”占用的资源比较多。继续点击“下一步”按钮:
第 3 步选择 Oracle 主目录(也就是 zip 文件的解压目录)的拥有者,可以保持不动,直接点击“下一步”按钮:
第 4 步用于设置 Oracle 基目录(放置数据文件、配置文件等)、数据库版本、字符集、全局数据库名、超级管理员(sys 和 system)密码等信息。勾选“创建为容器数据库”,输入一个可插入数据库名,这个是我们的应用实际使用的数据库。记住输入的信息,点击“下一步”按钮:
接下来安装程序会执行先决条件检查,确保当前环境满足安装条件,没有问题就会显示以上概要信息。点击“保存响应文件”可以保存本次的安装模板,然后点击“安装”按钮进行安装:
然后安装程序会执行 Oracle 数据库的安装和初始配置,完成之后显示以下界面:
安装完成后,默认会创建几个 Oracle 服务并设置了开机启动:
3.3 连接数据库
为了方便连接 hrdb 数据库,我们增加一个服务名。打开文件 D:\Applications\WINDOWS.X64_193000_db_home\network\admin\tnsnames.ora(zip 文件解压目录下),在文件最后增加以下内容:
HRDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = hrdb)
)
)
在开始菜单中的 Oracle 目录中点击“SQL Plus”工具,它是官方提供的命令行客户端:
用户名输入“system@hrdb”,密码是我们安装过程中设置的口令,连接成功会显示 Oracle 数据库的版本。
在开发过程中,我们通常会使用图形用户工具。可以安装官方提供的 Oracle SQL Developer 或者其他工具,例如 Dbeaver。
3.4 创建示例表
我们一般不使用超级管理员作为应用连接数据库的用户,而是创建一个专门的用户。在上面的 SQL Plus 窗口中执行以下命令创建一个新的用户(我使用的用户名是 tony,你可以创建自己的用户):
SQL> create user tony identified by tony;
用户已创建。
SQL> grant dba to tony;
授权成功。
后续我们就可以使用这个用户连接数据库进行开发了。
接下来我们安装专栏中主要使用的示例表和初始化数据,脚本可以在 GitHub 上进行下载。我们主要使用 3 个表:员工表(employee)、部门表(department)和职位表(job)。以下是它们的结构图,也称为实体-关系图(Entity-Relational Diagram):
- 部门表(department),包含部门编号(deptid)和部门名称(deptname)字段,主键为部门编号。该表共计 6 条数据。
- 职位表(job),包含职位编号(jobid)和职位名称(jobtitle)字段,主键为职位编号。该表共计 10 条数据。
- 员工表(employee),包含员工编号(empid)和员工姓名(empname)等字段,主键为员工编号,部门编号(deptid)字段是引用部门表的外键,职位编号(jobid)字段是引用职位表的外键,经理编号(manager)字段是引用员工表自身的外键。该表共计 25 条数据。
我们只需要运行 create_table.sql 脚本中的内容创建表,运行 load_data_Oracle_and_PostgreSQL.sql 脚本中的内容初始化数据,运行 drop_table.sql 脚本中的内容删除表和数据。
创建成功之后可以测试一下数据:
SELECT emp_id, emp_name, sex, hire_date, salary, email
FROM employee
WHERe emp_id <= 3;
EMP_ID|EMP_NAME |SEX|HIRE_DATE |SALARY|EMAIL |
------|----------|---|-------------------|------|---------------------|
1|刘备 |男 |2000-01-01 00:00:00| 30000|liubei@shuguo.com |
2|关羽 |男 |2000-01-01 00:00:00| 26000|guanyu@shuguo.com |
3|张飞 |男 |2000-01-01 00:00:00| 24000|zhangfei@shuguo.com |
准备好了环境我们就可以正式开始 SQL 语句的学习了。