一、数据库技术的历史和发展
A.人工管理阶段
人工管理阶段是指计算机诞生的初期(即20世纪50年代后期之前),这个时期的计算机主要用于科学计算。从硬件看,没有磁盘等直接存取的存储设备;从软件看,没有操作系统和管理数据的软件,数据处理方式是批处理。
这个时期数据管理的特点是:
1. 数据不保存
该时期的计算机主要应用于科学计算,一般不需要将数据长期保存,只是在计算某一课题 时将数据输入,用完后不保存原始数据,也不保存计算结果。
2. 没有对数据进行管理的软件系统
程序员不仅要规定数据的逻辑结构,而且还要在程序中设计物理结构,包括存储结构、存取方法、输入输出方式等。因此程序中存取数据的子程序随着存储的改变而改变,数据与程序不具有一致性。
3. 没有文件的概念
数据的组织方式必须由程序员自行设计。
4. 一组数据对应于一个程序,数据是面向应用的
即使两个程序用到相同的数据,也必须各自定义、各自组织,数据无法共享、无法相互利用和互相参照,从而导致程序和程序之间有大量重复的数据。
B.文件系统阶段
文件系统阶段是指计算机不仅用于科学计算,而且还大量用于管理数据的阶段(从50年代后期到60年代中期)。在硬件方面,外存储器有了磁盘、磁鼓等直接存取的存储设备。在软件方面,操作系统中已经有了专门用于管理数据的软件,称为文件系统。
这个时期数据管理的特点是:
1. 数据需要长期保存在外存上供反复使用
由于计算机大量用于数据处理,经常对文件进行查询、修改、插入和删除等操作,所以数据需要长期保留,以便于反复操作。
2. 程序之间有了一定的独立性
操作系统提供了文件管理功能和访问文件的存取方法,程序和数据之间有了数据存取的接口,程序可以通过文件名和数据打交道,不必再寻找数据的物理存放位置,至此,数据有了物理结构和逻辑结构的区别,但此时程序和数据之间的独立性尚还不充分。
3. 文件的形式已经多样化
由于已经有了直接存取的存储设备,文件也就不再局限于顺序文件,还有了索引文件、链表文件等,因而,对文件的访问可以是顺序访问,也可以是直接访问。
4. 数据的存取基本上以记录为单位
C.数据库系统阶段
数据库系统阶段是从60年代后期开始的。在这一阶段中,数据库中的数据不再是面向某个应用或某个程序,而是面向整个企业(组织)或整个应用的。数据库系统阶段的特点是:
1. 采用复杂的结构化的数据模型
数据库系统不仅要描述数据本身,还要描述数据之间的联系。这种联系是通过存取路径来实现的。
2. 较高的数据独立性
数据和程序彼此独立,数据存储结构的变化尽量不影响用户程序的使用。
3. 最低的冗余度
数据库系统中的重复数据被减少到最低程度,这样,在有限的存储空间内可以存放更多的数据并减少存取时间。
4. 数据控制功能
数据库系统具有数据的安全性,以防止数据的丢失和被非法使用;具有数据的完整性,以保护数据的正确、有效和相容;具有数据的并发控制,避免并发程序之间的相互干扰;具有数据的恢复功能,在数据库被破坏或数据不可靠时,系统有能力把数据库恢复到最近某个时刻的正确状态。
数据库的主要特点
(1)实现数据共享。
数据共享包含所有用户可同时存取数据库中的数据,也包括用户可以用各种方式通过接口使用数据库,并提供数据共享。
(2)减少数据的冗余度。
同文件系统相比,由于数据库实现了数据共享,从而避免了用户各自建立应用文件。减少了大量重复数据,减少了数据冗余,维护了数据的一致性。
(3)数据的独立性。
数据的独立性包括数据库中数据库的逻辑结构和应用程序相互独立,也包括数据物理结构的变化不影响数据的逻辑结构。
(4)数据实现集中控制。
文件管理方式中,数据处于一种分散的状态,不同的用户或同一用户在不同处理中其文件之间毫无关系。利用数据库可对数据进行集中控制和管理,并通过数据模型表示各种数据的组织以及数据间的联系。
(5)数据一致性和可维护性,以确保数据的安全性和可靠性。
主要包括:①安全性控制:以防止数据丢失、错误更新和越权使用;②完整性控制:保证数据的正确性、有效性和相容性;③并发控制:使在同一时间周期内,允许对数据实现多路存取,又能防止用户之间的不正常交互作用;④故障的发现和恢复:由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏
(6)故障恢复。
由数据库管理系统提供一套方法,可及时发现故障和修复故障,从而防止数据被破坏。数据库系统能尽快恢复数据库系统运行时出现的故障,可能是物理上或是逻辑上的错误。比如对系统的误操作造成的数据错误等。
二、Oracle的安装和卸载
安装:
1.运行安装程序
2.使用默认设置点击下一步就可以了
3.中间输入的密码要记住,那是oracle数据库管理员的密码
安装完成后,会发现系统服务中多了很多和oracle相关的服务
PS:
可能安装后只有三个系统服务项,做法是把安全软件关闭,再卸载重装。
参考:https://blog.csdn.net/s_clifftop/article/details/72796603
卸载:
1.像其他软件一样正常卸载(可以使用360,windows本身的软件卸载等等)
2.手动删除没有卸载干净的服务,使用管理员权限打开命令提示窗口cmd(开始-->附件)
特别是这个服务:OracleServiceXE
3.在打开的cmd中输入: sc 要删除的服务的名字
三、Oracle系统服务
1.oracle按照完成后,系统中会增加几个和oracle相关的服务
2.OracleServiceXE服务不启动的话,就无法使用sqlplus登录到oracle数据库中
3.OracleXETNSListener服务不启动的话,就无法使用oracle自带管理系统登录到数据库中,之后也无法使用JDBC连接到数据库中.
(不用Oracle时可以停止)
oracle自带管理系统登录地址:
http://127.0.0.1:8080/apex/
前提:
1.正常成功安装了oracle
2.相关服务启动
3.8080端口没有被占用
登录用户名:system
登录密码:安装oracle软件的时候有一步让输入的密码
注1:使用其他用户名和密码也能登录,只不过是system用户的权利较大,可以做的操作多一些而已,例如可以创建新的用户
注2:你正常安装oracle之后可能会发现上面那个
登录的地址无法访问(这种情况很少),这时候只能使用命令的方式来操作oracle了,上面那个管理系统只是提供了一个图形化界面的方式操作而已。
四、
五、sqlplus 汉字乱码问题的解决
参考:https://blog.csdn.net/zcb1592781470/article/details/82943603?tdsourcetag=s_pctim_aiomsg
代码:
alter session set nls_date_format='yyyy-mm-dd';
create table briup_emp(
empno number(4),
ename varchar2(20),
job varchar2(20),
mgr number(4),
startdate date,
sal number(6,2),
comm number(3),
deptno number(2)
);
insert into briup_emp values (0001,'Smith','webui',0029,'2014-11-11',4000,500,1);
insert into briup_emp values (0002,'Bob','ios',0029,'2000-5-08',6000,560,1);
insert into briup_emp values (0003,'Andy','led',0029,'2017-06-11',2000,570,1);
insert into briup_emp values (0004,'Abel','led',0003,'2012-03-03',3000,520,1);
insert into briup_emp values (0005,'Rose','android',0029,'2009-05-15',4500,200,1);
insert into briup_emp values (0006,'Jack','ios',0002,'2011-11-11',2500,100,1);
insert into briup_emp values (0007,'James','ai',0029,'2005-03-18',8000,300,1);
insert into briup_emp values (0008,'Candy','bigdata',0029,'2000-10-15',3000,250,1);
insert into briup_emp values (0009,'Nana','webui',0001,'2016-06-06',3000,700,1);
insert into briup_emp values (0010,'Lili','java',0029,'2011-11-11',1000,800,1);
insert into briup_emp values (0011,'Anni','java',0010,'2014-05-12',5600,900,1);
insert into briup_emp values (0012,'Pack','ios',0002,'2007-03-06',4300,330,1);
insert into briup_emp values (0013,'Pater','android',0005,'2014-05-14',4700,460,1);
insert into briup_emp values (0014,'Eda','android',0005,'2011-08-08',9000,880,1);
insert into briup_emp values (0015,'Dale','ai',0007,'2008-08-08',2800,540,1);
insert into briup_emp values (0016,'Lisa','bigdata',0008,'2009-02-11',2000,880,1);
insert into briup_emp values (0017,'Bash','java',0010,'2008-07-08',2800,240,1);
insert into briup_emp values (0018,'Zhao','ios',0002,'2014-01-01',3000,180,1);
insert into briup_emp values (0019,'Wang','java',0010,'2006-09-18',4400,590,1);
insert into briup_emp values (0020,'Wu','java',0010,'2005-07-18',9900,999,1);
insert into briup_emp values (0021,'Pei','accounting',0029,'2010-01-18',3500,444,2);
insert into briup_emp values (0022,'Terry','accounting',0021,'2013-02-15',5000,264,2);
insert into briup_emp values (0023,'Wen','pm',0021,'2013-05-11',1500,644,2);
insert into briup_emp values (0024,'Mumu','pm',0021,'2016-06-13',500,744,2);
insert into briup_emp values (0025,'Dou','sale',0029,'2010-03-13',9000,544,3);
insert into briup_emp values (0026,'Qi','sale',0025,'2009-12-12',8000,144,3);
insert into briup_emp values (0027,'Xu','sale',0025,'2009-07-01',7000,844,3);
insert into briup_emp values (0028,'Xue','manager',0029,'2007-01-01',9999,999,4);
insert into briup_emp values (0029,'Larry','manager',null,'2007-01-01',9999,999,4);
create table briup_dept(
deptno number(2),
dname varchar2(20),
loc varchar2(20)
);
insert into briup_dept values (1,'development','Beijing');
insert into briup_dept values (2,'Administration','Shenzhen');
insert into briup_dept values (3,'market','Xian');
insert into briup_dept values (4,'manager','Shanghai');
create table briup_salgrade(
grade number(1),
losal number(4),
hisal number(4)
);
insert into briup_salgrade values (1,0,2000);
insert into briup_salgrade values (2,2001,4000);
insert into briup_salgrade values (3,4001,6000);
insert into briup_salgrade values (4,6001,8000);
insert into briup_salgrade values (5,8001,9999);
commit;
网友评论