1、 什么是数据库?
所谓的数据库其实就是数据的集合。用户可以对集合中的数据进行新增、查询、更新、删除等操作。数据库是以一定方式存储在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
2、 常见的关系型数据库有哪些?
Oracle
Mysql
PostgreSQL
DB2
Microsoft SQL Server
Microsoft Access
3、 关系型数据库有哪些优点、特点、缺点?
特点:关系型数据库最典型的数据结构是表,由二维表及其之间的联系所组成的一个数据组织。支持事务一致性。
优点:易于维护,都是使用表结构,格式一致;
使用方便,SQL语言通用;
复杂操作,支持SQL,可用于一个表及多个表之间非常复杂的查询。
缺点:性能差,读写性能较差,尤其是海量数据的高效率读写,传统关系型数据库来说,硬盘I/O是一个很大的瓶颈;
存储方式不灵活,固定的表结构,灵活度稍欠缺。
4、什么是Oracle数据库?
所有的关系型数据库存储数据的集合就是磁盘中的文件。Oracle数据库其实就是一组文件的集合。Oracle数据库文件分别由:数据文件,控制文件,日志文件所构成。
5、Oracle数据库中包含哪几类文件?每类文件作用是什么?
1-数据库文件.DBF
数据文件是一个二进制文件,是用于保存用户应用程序数据和Oracle系统内部数据的文件,这些文件在操作系统中就是普通的操作系统文件。Oracle在创建表空间的同时会创建数据文件。
2-控制文件 .CTL
控制文件时一个二进制文件,它主要记录数据库的名称、数据库的数据文件存放位置等信息。一个控制文件只能属于一个数据库。如果控制文件丢失,这数据库就无法操作。
3-日志文件
日志文件在Oracle数据库中分为重做日志(Redo Log)文件和归档日志文件两种。重做日志文件时Oracle数据库正常运行不可缺少的文件。重做日志文件主要记录了数控操作过程。用于备份和还原数据库,以达到数据的最新状态。
6、是什么Oracle实例?
实例就是数据库启动后分配的内存和建立的后台进程。数据库关闭后,物理上的文件还存在,但实例分配的内存和建立的进程就没有了。
7、Oracle实例与数据库的关系是什么?
实例就是一组操作系统进程(或者是一个多线程的进程)以及一些内容。这些进程可以操作数据库;而数据库只是一个文件集合(包括数据文件、临时文件、重做日志和控制文件)。在任何时刻,一个实例只能有一组相关的文件(与一个数据库关联)。大多数情况下,反过来也成立:一个数据库上只有一个实例对其进行操作。
8、描述Oracle安装步骤
1-双击setup.exe;
2-配置安全更新,不留电子邮箱;
3-安装选项 选择创建和配置数据库;
4-桌面类
5-数据库版本:标准版(3.29GB) 字符集 Unicode 全局数据库名 orcl 管理口令:oracle
6-先决条件检查,全部忽略
7-概要 点击完成
8-点击确定 关闭
9、 描述Oracle卸载步骤
1-停止使用Oracle的服务。停用oracle服务,进入计算机管理,在服务中,找到oracle开头的所有服务,右击选择停止。
2-运行卸载oracle数据库程序。在开始菜单中找到oracle安装产品,点击运行oracle自带的卸载程序universal installer工具卸载。
3-删除使用oracle的服务。开始菜单中,找到universal installer,运行oracle universal installer,单级卸载产品,在产品清单窗口,点击全部展开,处理oraDb11g_home1外,勾选其他项目,单击删除,根据软件提示单击下一步最终完成。
4-删除注册表中的Oracle相关项。在命令窗口,输入regedit,打开注册表,依次展开HKEY_LOCAL_MACHINESOFTWARE,找到oracle,删除之。依次展开HKEY_LOCAL_MACHINESYSTEMCurrentControlSetSet ServiceEventlogApplication,删除所有oracle开头的项。扩展删除(以下不是必须删除的注册表删除项),如果安装不成功可以自己把这些删除了。在HKEY_CLASSES_ROOT,删除以Ora、Oracle、orcl或Enumora为前缀的键。
5-删除Oracle环境变量。右击我的电脑,属性,高级,环境变量,删除环境变量ORACLE_HOME TNS_ADMIN等环境变量,删除PATH中等环境变量有关Oracle的设定的路径信息。
6-删除开始菜单中的Oracle目录。 打开资源管理器,在地址栏中输入“%userprofile%【开始】菜单程序”,删除安装的Oracle目录。然后再到地址栏中输入“%allusersprofile%【开始】菜单程序”回车,删除安装的Oracle目录。
7-重新启动计算机
8-删除Program FilesOracle目录
9-删除Oracle安装目录
10、 说明admin目录的作用。
记录Oracle实例的配置,运行日志等文件。每个实例一个目录。
SID:System IDentifier的缩写,是Oracle实例的唯一标记。在Oracle中一个实例只能操作一个数据库。如果安装多个库那么就会有多个实例,我们可以通过实例SID来区分。由于Oracle中一个实例只能操作一个数据库的原因,Oracle中也会使用SID来作为库的名称。
11、 说明oradata目录的作用。
存放数据文件。
12、 Orcl目录下的文件有哪些?以及作用是什么?
CONTROL01.CTL: Oracle数据的控制文件。
EXAMPLE01.DBF:数据库表空间文件。
REDO01.LOG:数据库的重做日志文件
SYSAUX01.BDF:新增加的表空间。主要存储数据字典以外的其他数据对象。由系统自动维护。
SYSTEM01.DBF:用于存放Oracle系统内部表和数据字典的数据。比如,表明、列名、用户名等。
TEMP01.DBF:临时表空间文件。
UNDOTBS01.DBF:撤销表空间文件。用来保存回滚数据。
USERS01.DBF:用户表空间。
13、Oracle中SYS用户的作用是什么?
SYS是Oracle中的超级账户,拥有的权限最大。可以完成数据库的所有管理任务。
14、 Oracle中System用户的作用是什么?
SYSTEM用户没有SYS权限大,通常用来创建一些用户查看管理信息的表或视图。不建议使用SYSTEM用户来创建一些与管理无关的表或者视图。
SYS和SYSTEM在登录Oracle时,SYS只能以系统管理员(sysdba)或系统操作员(sysoper)的权限登录,而system可以直接登录(normal)
15、 Oracle中Scott用户的作用是什么?
Scott是Oracle提供的示例用户,提供了一些学习Oracle操作的数据表。如:emp dept salgrade bonus表。
16、Oracle是如何启动的?
Oracle是通过系统的服务来开启的。
必须启动的:
OracleServiceORCL
OracleOraDb11g_home1TNListenser
非必须启动的:
Oracle ORCL VSS Writer Service
OracleDBConsoleorcl
OracleJobSchedulerORCL
17、 如何启动Oracle实例?
在服务选项启动OracleService ORCL
18、 如何启动Oracle监听器?
在服务列表中启动OracleOraDb11g_home1TNListenser 服务选项
19、 在什么情况下需要使用启动Oracle的监听器?
服务只有在数据库需要远程访问的时候或者使用PL/SQL Developer等第三方工具时才需要。
20、 使用SQL Plus登录时,登录内容格式是什么样的?
在Oracle-OraDb11g_home1文件下找到SQL Plus文件启动
在窗口输入用户名sys as sysdba 输入口令(密码)反隐,不显示密码
连接到:。。。表示连接成功 光标编程SQL>开头
输入命令 select * from all_users;可以查询所有用户信息。输入quit或者点右上角的×来关闭SQL Plus窗口
System登录直接输入命令system 只有sys需要输入 sys as sysdba/sysoper来指定登录角色
21、 PL SQL Developer的安装过程什么?
1-双击运行plsqldev1105_x64.exe安装程序;
2-直接点击next;
3-接收协议,next;
4-选择默认安装目录;
5-选择Typical典型安装模式;
6-Install---finish
7-用户名:sys 输入密码 Database选择ORCL 身份选择SYSDBA
8-必须留Object窗口,其他窗口可关闭。
22、Command Window与SQL Windows的区别是什么?
Command Window与官方自带的SQL Plus差不多,也是用字符串的形式显示查询结果,格式不好看。Select * from all_users; 末尾一定要加分号!
SQL Windows返回数据的结构是表格,显示更加规范合理。SQL语句的执行不依靠回车,而是依赖左上角齿轮按钮execute按钮,如果只想执行其中的一条语句,选中该语句在执行按钮。
23、 什么是Oracle的表空间?
ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引、聚簇、回退段和临时段等。
24、 在Oracle中有几类表空间?
两类:
永久表空间:表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表,所以称作表空间。
临时表空间:Oracle临时表空间主要用来做查询和存放一些缓冲区数据。临时表空间消耗的主要原因是需要对查询的中间结果进行排序。重启数据库可以释放临时表空间。
25、创建永久表空间的命令是什么?
Create tablespace 永久表空间名称 datafile ‘永久表空间物理文件位置’ size 15M autoextend on next 10M permanent online;
只有在SYS 或者SYSTEM用户下才可以创建表空间和用户。
26、 Oracle中的权限分类有哪些?
对象权限:是指在指定的表,视图,序列上指定执行动作的权限或权利;
角色权限:角色是可以授予用户的相关权限的组,该方法使权限的授予,撤回更加容易管理;
系统权限:为用户分配创建表、用户、视图、缓存过程等权限。
27、对象权限指的是什么?
对象权限:是指在指定的表,视图,序列上指定执行动作的权限或权利;
28、 角色权限指的是什么?
角色权限:角色是可以授予用户的相关权限的组,该方法使权限的授予,撤回更加容易管理;
29、系统权限指的是什么?
系统权限:为用户分配创建表、用户、视图、缓存过程等权限。
30、 sqlnet.ora文件的作用是什么?
名称解析。通过这个文件来决定怎么样找到一个连接中出现的连接字符串。
如:sqlplus bjsxt/oracle@orcl
NAMES.DIRECTORY_PATH=(TNSNAMES,EZCONNECT)
31、 tnsnames.ora文件中作用是什么?
用在oracle client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样。
32、 listener.ora文件的作用是什么?
用在oracle server端,可配置Oracle的监听端口。
33、 使用Oracle自带的配置监听工具配置监听的步骤是什么?
1-打开Oracle自带的Oracle Net Configuration Assistant网络配置助手。最终配置还是会保存到listener.ora文件中。傻瓜可视化操作界面。
2-选择重新配置
3-选择重新配置的监听程序
4-使用TCP连接
34、 如何通过Oracle自带的工具配置连接本地网络的Oracle服务?
1、防火墙要关闭
2、相互是可ping通的
配置步骤:
1、打开oracle net configuration assistant并选择本地网络服务名配置
2、选择添加
3、填服务名。一般为ORCL。在tnsnames文件中的配置一致。
4、选择TCP协议连接
5、输入主机名(所访问的Oracle设备的IP地址),使用默认端口号:1521
6、进行测试
7、更改登录
8、使用system用户 (注意不要使用sys用户,因为要为sys用户指定角色是sysdba还是sysoper)登录成功
9、添加网络服务名称(其实所有修改都保存到了tnsnames.ora文件中)
10、配置完成并退出
35、 Oracle中的字符类型有哪些?
CHAR类型、VARCHAR2类型、NVARCHAR2类型
36、 每种字符类型之间的区别是什么?
CHAR类型,定长字符串,会用空格填充来达到其最大长度。非NULL的CHAR(12)总是包含12字节信息。CHAR字段最多可以存储2000字节的信息。如果创建表时,不指定CHAR长度,则默认为1。西文和数字占一个字节,一个汉字占3个字节。
VARCHAR2类型:变长字符串,与CHAR类型不同,它不会使用空格填充至最大长度。VARCHAR2最多可以存储4000字节的信息。
NVARCHAR2类型:这是一个包含UNICODE格式数据的变长字符串。NVACHAR2最多可以存储4000字节的信息。单位是字符,不是字节。无论是中文还是西文,存储数一样。
37、 Oracle中的数字类型有哪些?
NUMBER类型、INTEGER类型、
38、 每种数字类型之间的区别是什么?
NUMBER(P,S)是最常见的数字类型。P是Precision的英文缩写,即精度缩写,表示有效数字的位数,最多不超过38个有效数字。S是Scale的英文缩写,表示小数点数字的位数。
INTEGER是NUMBER的子类型,它等同于NUMBER(38,0),用来存储整数。若插入,更新的数值有小数,则会被四舍五入。
39、 Oracle中的浮点类型有哪些?
BINARY_FLOAT BINARY_DOUBLE
40、 每种浮点类型之间的区别是什么?
BINARY_FLOAT是32位、单精度浮点数据类型。可以支持至少6位精度,每个BINARY_FLOAT的值需要5个字节,包括长度字节。
BINARY_DOUBLE是64位,双精度浮点数据类型。每个BINARY_DOUBLE的值需要9个字节,包括长度字节。
41、 Oracle中的日期类型有哪些?
DATE
TIMESTAMP
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONE
42、每种日期类型之间的区别是什么?
DATE是最常用的数据类型,日期数据类型存储日期和时间信息。虽然可以用字符串或数字来表示日期和时间信息。但是日期数据类型具有特殊关联的属性。为每个日期值,Oracle都存储以下信息:世纪、年、月、日期、小时、分钟和秒。一般占用7个字节的存储空间。
TIMESTAMP是一个7字节或12字节的定宽日期时间数据类型。它与DATE数据类型不同,因为TIMESTAMP可以包含小数秒,带小数秒的TIMESTAMP在小数点右边最多可以保留9位。
TIMESTAMP WITH TIME ZONE类型是TIMESTAM的变种,它包含了时区偏移量的值。
TIMESTAMP WITH LOCAL TIME ZONE将时间数据库时区进行规范化后进行存储。
43、Oracle中的LOB类型有哪些?
CLOB(Character Large Object)
BLOB(Binary Large Object)
NCLOB
44、 每种LOB类型之间的区别是什么?
CLOB二进制数据,存储单字节和多字节字符数据。最大长度4G。
BLOB存储非结构化二进制数据对象,它可以被认为是没有定义字符集语义的比特流,一般是图像、声音、视频等文件。最大长度4G。
NCLOB存储Unicode类型的数据,最大长度4G。
45、 Oracle表名的命名规则是什么?
1-必须以字母开头;
2-长度不能超过30个字符;
3-避免使用Oracle的关键字;
4-只能使用A-Z a-z 0-9 #$_
46、 如果表名中包含特殊符号该如何处理?
ORACLE在创建表时,表名会自动转换大写。Oracle对表名大小写不敏感。
如果在定义表名时含有特殊符号,或用小写字母来定义表名则需要在表名两侧添加双引号。
47、 数据库中的约束的作用是什么?
约束用于规定表中的数据规则,如果存在违反约束的数据行为,行为会被约束终止。
48、 数据库中的约束类型有哪些?
主键约束(Primary Key Constraint)唯一性,非空性
唯一约束(Unique Constraint)唯一性,可以为空,但只能有一个。
检查约束(Check Constraint)对该列数据的范围、格式的限制(如年龄、性别等)。
非空约束(Not Null Constraint)该列不允许包含空值。
外键约束(Foreign Key Constraint)需要建立两表间的关系并引用主表的列。
49、 什么是一对多的表关系?
设计关系数据库的一个重要部分是将数据元素划分为相关的表,我们可以根据数据本身的关联性,将不同的数据聚合在一起。注意:无论表与表之间建立了什么样的关系,决定数据之间是否有关系的不是表,而是数据本身。
一对多关系是建立在两张表之间的关系。一个表中的一个条数据可以对另一个表中的多条数据。记住:外键永远在多方。外键允许重复,允许含有空值。
50、 如何为两张表添加一对多的关系?
通过在多方添加一列来存储一方的主键。将这一列设置外键约束,关联到一方的主键。
51、 什么是一对一的表关系?
一对一的关系是建立在一对多的基础之上,外键可以在任何一方,需要让外键一方具备唯一约束。
52、 什么是多对多的表关系?
需要建立一个中间表,中间表里建立两个列,然后需要用这个列作为这个表的联合主键,然后每个列作为外键参照各自的表的主键。
一般中间表不存放业务数据。删除数据要从有外键的一方删起,添加的时候最后添加有外键的一方。