数据库相关概念
-
- 请解释什么是DB, DBMS, DBAS, DBA, DBS?
DB:用于存储和管理数据的仓库
DBMS:用于科学的组织和存储数据, 高效快捷的管理和维护数据
DBAS:面向最终用户的应用程序
DBA:DBMS的使用者
DBS:DB+DBMS+DBAS+DBA+最终用户, 构成 DBS
- 请列举常用的关系型数据库并简述其特点.
Oracle、 Mysql
特点:关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。支持事务一致特性。
- Oracle入门
- 简述Oracle数据库的版本变更及特点.
Oracle8i
Oracle9i
Oracle10g
Oracle11g
Oracle12cI:i 代表 Internet。8i 版本开启对 Internet 的支持。所以,在版本号之后,添加了标识 i。G:g 代表 Grid 网格。10g 加入了网格计算的功能,因此版本号之后的标识使用了字母 g。C:c 代表云(cloud)计算设计。12c 版本表示对云计算的支持。
- 什么是C/S? 什么是B/S? 请简述两者区别.
C/S:客户机-服务器结构
B/S:浏览器-服务器结构
区别:二者没有本质区别,之所以在C/S架构上提出B/S架构,是为了满足瘦客户端、一体化客户端的需要,最终目的节约客户端更新、维护等的成本,及广域资源的共享。
(1)B/S属于C/S,浏览器只是特殊的客户端;
(2)C/S可以使用任何通信协议,而B/S这个特殊的C/S架构规定必须实现HTTP协议;
(3)浏览器是一个通用客户端,本质上开发浏览器,还是实现一个C/S系统。
- Oracle的安装和卸载
- 请简述Oracle的卸载步骤?
2.1停止使用 Oracle 的服务停用 oracle 服务,进入计算机管理,在服务中,找到 oracle 开头的所有服务,右击选择停止。
2.2运行卸载 Oracle 数据库程序在开始菜单中找到 Oracle 安装产品,点击运行 Oracle 自带的卸载程序 UniversalInstaller 工具卸载。
2.3删除使用 Oracle 的服务开始菜单中,找到 UniversalInstaller,运行 Oracle Universal Installer,单击卸载产品,在产品清单窗口中,单击全部展开,除了 OraDb11g_home1 外,勾选其他项目,单击删除, 根据软件提示单击下一步最终完成卸载。
2.4删除注册表中 Oracle 相关项在 命 令 窗 口 , 输 入 regedit , 打 开 注 册 表 , 依 次 展 开 HKEY_LOCAL_MACHINESOFTWARE,找到 oracle,删除。依次展开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices 中,删除所有 oracle 开头的项。依 次 展 开 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlogApplication,删除 所有 oracle 开头的项。扩展删除(以下不是必须的注册表删除项),如果安装不成功可以自己也把这些删除了在 HKEY_CLASSES_ROOT,删除以 Ora、Oracle、Orcl 或 EnumOra 为前缀的键 删除 HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerMenuOrderSt artMenuPrograms 中所有以 oracle 开头的键。删 除 HKEY_LOCAL_MACHINESOFTWAREODBCODBCINST.INI 中 除 Microsoft ODBCforOracle 注册表键以外的所有含有 Oracle 的键。
2.5删除 Oracle 环境变量右键点击我的电脑-->属性-->高级-->环境变量,删除环境变量 ORACLE_HOME、 TNS_ADMIN 等环境变量,删除 PATH 中等环境变量有关 Oracle 的设定的路径信息。
2.6删除“开始”菜单中 Oracle 目录打开资源管理器,在地址栏中输入“%userprofile%「开始」菜单程序”回车,删除安 装的 Oracle 目录。然后再到地址栏中输入“%allusersprofile%「开始」菜单程序”回车, 删除安装的 Oracle 目录。
2.7重新启动计算机重启电脑。
2.8删除 ProgramFilesOracle 目录如果在 ProgramFilesOracle 目录存在,则删除 ProgramFilesOracle 目录。
2.9删除 Oracle 安装目录删除 Oracle 的安装目录 app 等目录。
- 请简述什么是SID?
System IDentifier 的缩写,是 Oracle 实例的唯一标记。
- Oracle目录结构和系统用户
- 请列举三个Oracle的系统用户及其默认密码
系统用户 默认密码
sys change_on_install
system manager
scott tiger
- 请列举三个Oracle常用目录并说明作用
- admin 目录记录 Oracle 实例的配置,运行日志等文件。每个实例一个目录。
- cfgtoollogs 目录下面子目录分别存放当运行 dbca,emca,netca 等图形化配置程序时的 log。
- oradata 目录存放数据文件。
- Oracle客户端
- 请问Oracle的常用客户端有哪些?
- PL/SQL Developer 2.CommandWindow
- 如何使用SQL Plus连接Oracle?
在开始选项打开SQL Plus客户端,弹出命令窗口,输入用户名和口令。成功后进入如下界面即连接成功。
![cd6b59c71c9ee3c1f86f1d9058196455.png](https://i-blog.csdnimg.cn/blog_migrate/b54054626e0a10557ec034dc057d5375.png)
sys 用户登录命令: sysassysdba|sysoper system 用户登录命令:system
- Oracle常用命令及练习表
- 列举常用的Oracle命令有哪些?
1、查看用户所有的表格 select * from tab; 2、查看表结构 desc 表名; 3、查询表格数据 select * from 表名; 4、显示当前登录的用户 show user; 5、退出 exit;
- 如何使用命令连接Oracle SQL Plus?
见5.2题图
- Oracle连接配置(listener.ora和tnsnames.ora)
- 请问出现如下问题的可能原因是什么? 如何解决?
![e245bf1ddd351fedfb39565e02fe160e.png](https://i-blog.csdnimg.cn/blog_migrate/c17d4b085c44996f7299d54422d73e97.png)
没有启动监听程序,去服务中将OracleOraDb11g_home1TNSListener启动即可
- 请说明listener.ora和tnsnames.ora在Oracle中分别起什么作用?
tnsnames.ora:用在 oracleclient 端,用户配置连接数据库的别名参数,就像系统中的 hosts 文件一样。
listener.ora:用在 oracleserver 端,可配置 Oracle 的监听端口,默认1521
SQL语言基础
-
- 什么是SQL?
SQL是结构化语言,是所有关系数据库管理系统的标准语言,是非过程化语言,只需要告诉做什么,不需要关注怎么做。
- 使用SQL语言可以做什么?
1.增删改查
2.操作数据库对象(用户、表格、序列、索引)
3.操作用户权限和角色的授予和取消
4.事务管理
- SQL语言的分类有哪些?
DQL数据查询语言
DML数据操作语言
DDL数据定义语言
DCL数据控制语言
TCL事务控制语言
- select子句
- select子句中如何定义列别名?
- 可以通过as语句定义别名
- 可以直接省略
- 请总结select在sql语句中的作用.
select用于指定查询表格中的列信息
- Distinct_字符串连接符_order by
- Distinct在sql语句中的作用是什么?
用于去除重复行信息。
- Oracle中用什么符号描述字符串?举例说明如何实现字符串的拼接?
日期和文字的文字字符串值用单引号描述字符串,字符串拼接使用||
Select last_name ||‘ is a ’|| job_id as “Employee Details” from employee
- Where子句_等值条件和非等值条件
- where在SQL语句中有什么作用?
where 限制查询满足条件的行 ,where字句跟在select字句后面
- 请说明between和and在SQL语句中的含义?
可以用between范围条件显示基于一个值范围的行。指定的范围包含一个下限和一个上限。使用between...and...并没有性能的提高,只是逻辑上简单。
- Where子句_模糊查询
- 模糊查询中使用的关键字是什么?与之配合的通配符有哪些?分别表示什么含义?
关键字like
通配符:%表示零个或多个字符
_表示一个占位符
- 请说明ESCAPE在模糊查询中的使用场景
可以用ESCAPE标识符搜索实际的%和_符号。使用ESCAPE选项,该选项指定换码符是什么,可以表示转义符号
- Where子句_IS NULL_优先级
- 查询所有有提成的员工中, 工资大于1500的员工的信息.
select * from employees where salary>1500;
- 查询所有CLERK的信息和工资大于1250的SALESMAN的信息
select * from emp where job=’CLERK’or job=’SALESMAN’ and sal>1250;
- 查询所有工资大于1250的CLERK和SALESMAN的信息
select * from emp where (job=’CLERK’or job=’SALESMAN’)and sal>1250;