转自:http://www.cnblogs.com/ffhajbq/archive/2012/06/22/2558426.html
1. 文件数据存取管理与数据库的区别:
- 安全性低
- 不利于查询和管理
- 不利于存储海量数据
- 文件在程序中控制不方便
2.数据库的三层结构: client(需要访问数据库请求数据的用户) -> oracle dbms (database management system) -> a. db实例(数据库) ->数据对象(表,视图,序列,函数,包,过程,触发器)
3.常见的数据对象: 表,视图,序列,函数,包,过程,触发器
4.数据库分类
- 小型数据库 access foxbase
- 中型数据库 mysql
- 大型数据库 oracle, sysbase, informix, sql server
- 海量数据库 db2
5. 如何选择数据库 (项目中)
- 标的, 项目资金
- 功能
- 多少人用(并发问题)
- 安全,稳定,即性能要求
- 操作系统(unix/linux/windows)
6. oracle认证: oca(oracle certified associat 初级认证)->ocp(professional 中级认证)->ocm(master 高级认证)
7. oracle安装注意:
- 安装目录不要有中文
- 安装系统没有装过oracle 在管理工具中看是否有oracle服务选项
- 把oracle主页上的两部分文件解压后放到同一个目录下 setup安装
- 安装的是数据库服务器,用于管理数据库程序
- 每当创建一个数据实例后,都会自动创建三个用户
8. oracle用户介绍:
- sys 用户 (超级管理员,权限最大)
- system 用户 (管理员,权限仅次于sys)
- scott 用户 (普通client用户) 需要在安装最后解锁, 9i默认是启用状态, 10g需要指定启用
- 如果安装后,忘记对某个普通用户解锁,可以通过system账户来对普通用户账户解锁, a.先使用sys账户登录:sqlplus sys/password@orcl as sysdba (或者sqlplus 然后根据命令行输入用户名 sys, 然后输入密码 as sysdba) b. 启用账户命令: alter user 用户名 account unlock; 举例: alter user scott account unlock;
9. oracle版本介绍
- 9i 2001年 最稳定的版本
- 10g 2003年 grid 网格计算 a.支持网格计算 b. 支持自动管理 c.安装容易 d. 新增基于浏览器的企业管理器 oem
- 11g 2007年 11g取消了 sqlplusw模式。
10. oracle开发工具
- sqlplus 命令行 sqlplus sys/密码@orcl as sysdba 或者 sqlplus 根据提示输入 sys 根据提示输入 密码 as sysdba 或者如果是普通用户登录, 密码则不需要加 as sysdba (sys, system强制需要sysdba)
- 使用第三方 IDE开发, pl/sql developer, 11g现在用 sql developer 比较多
- 使用web企业管理器:启动服务 oracledbconsole, 然后浏览器输入 https://192.168.0.100:1158/em/console/logon/logon 输入用户名 密码 (如果是sys system用户 要选择sysdba身份连接登录)
- 浏览器登录: 机器名/IP地址:1158/em 登录也行
- 一般情况,是不启用web oem来开发的。
11. sqlplus常用命令
- conn:用法 conn 用户名/密码@sid [as sysdba/sysoper] 该当用户为sys/system时,必须带上as sysdba 或者as sysoper, 该命令可以用来切换不同用户
- show user: 显示当前用户类型 sys/system 为PUBLIC scott 为SCOTT
- disc: 用来断开数据库连接, 但是不退出 sqlplus窗口
- exit: 用来断开数据库连接并退出sqlplus窗口
- passw: 用来修改用户密码. 如果给当前用户修改密码,则可以不带用户名,如果给其他用户修改密码,则必须指定用户名。(修改其他用户账户的权限 一般只限于 sys system用户,普通用户是不允许给其他普通用户修改密码的,除非赋予了修改密码的相关权限。)用法 password [用户名]; 提示输入该用户旧密码, 然后输入新密码 再确认一遍新密码 后 修改生效。修改本用户密码可以只输入 passw
- & 交互式命令: 可以替代变量,而该变量在执行时,需要用户输入: 例如 select * from emp where job ='&job' 则会下一行出现命令行提示: 输入job的值 (即交互式命令)
- set linesize Number; 设置一行显示多少个字符,当命令行内容过长时,调节命令行长度, 使得表可以正常显示
- edit 可以编辑sql脚本. 用法: edit 保存脚本的路径/文件名 例如 edit d:/a.sql 不需要加;号结束,会自动打开一个写字板来保存sql语句输入。
- spool 把屏幕上显示的记录,保存到文件中, 用法:
- a. 建立保存的文件 spool d:/back.sql; 然后
- b. 查询 select * from emp; 及其他增删改操作
- c. spool off; 将之前所有的操作结果保存入文件并关闭文件。
附录: 常见的数据库比较
目前,商品化的数据库管理系统以关系型数据库为主导产品,技术比较成熟。面向对象的数据库管理系统虽然技术先进,数据库易于开发、维护,但尚未 有成熟的产品。国际国内的主导关系型数据库管理系统有Oracle、Sybase、INFORMIX和INGRES。这些产品都支持多平台,如 UNIX、VMS、Windows,但支持的程度不一样。IBM的DB2也是成熟的关系型数据库。但是,DB2是内嵌于IBM的AS/400系列机中,只 支持OS/400操作系统。
1.MySQL
MySQL是最受欢迎的开源SQL数据库管理系统,它由 MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,它是一家使用了一种成功的商业模式来结合开源价值和方法论的第二代开源公司。MySQL是MySQL AB的注册商标。
MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass- deployed)的软件中去。
与其他数据库管理系统相比,MySQL具有以下优势:
(1)MySQL是一个关系数据库管理系统。
(2)MySQL是开源的。
(3)MySQL服务器是一个快速的、可靠的和易于使用的数据库服务器。
(4)MySQL服务器工作在客户/服务器或嵌入系统中。
(5)有大量的MySQL软件可以使用。
2.SQL Server
SQL Server是由微软开发的数据库管理系统,是Web上最流行的用于存储数据的数据库,它已广泛用于电子商务、银行、保险、电力等与数据库有关的行业。
目前最新版本是SQL Server 2005,它只能在Windows上运行,操作系统的系统稳定性对数据库十分重要。并行实施和共存模型并不成熟,很难处理日益增多的用户数和数据卷,伸缩性有限。
SQL Server 提供了众多的Web和电子商务功能,如对XML和Internet标准的丰富支持,通过Web对数据进行轻松安全的访问,具有强大的、灵活的、基于Web的和安全的应用程序管理等。而且,由于其易操作性及其友好的操作界面,深受广大用户的喜爱。
3.Oracle
提起数据库,第一个想到的公司,一般都会是Oracle(甲骨文)。该公司成立于1977年,最初是一家专门开发数据库的公司。Oracle在 数据库领域一直处于领先地位。 1984年,首先将关系数据库转到了桌面计算机上。然后,Oracle5率先推出了分布式数据库、客户/服务器结构等崭新的概念。Oracle 6首创行锁定模式以及对称多处理计算机的支持……最新的Oracle 8主要增加了对象技术,成为关系—对象数据库系统。目前,Oracle产品覆盖了大、中、小型机等几十种机型,Oracle数据库成为世界上使用最广泛的 关系数据系统之一。
Oracle数据库产品具有以下优良特性。
(1)兼容性
Oracle产品采用标准SQL,并经过美国国家标准技术所(NIST)测试。与IBM SQL/DS、DB2、INGRES、IDMS/R等兼容。
(2)可移植性
Oracle的产品可运行于很宽范围的硬件与操作系统平台上。可以安装在70种以上不同的大、中、小型机上;可在VMS、DOS、UNIX、Windows等多种操作系统下工作。
(3)可联结性
Oracle能与多种通讯网络相连,支持各种协议(TCP/IP、DECnet、LU6.2等)。
(4)高生产率
Oracle产品提供了多种开发工具,能极大地方便用户进行进一步的开发。
(5)开放性
Oracle良好的兼容性、可移植性、可连接性和高生产率使Oracle RDBMS具有良好的开放性。
4.Sybase
1984年,Mark B. Hiffman和Robert Epstern创建了Sybase公司,并在1987年推出了Sybase数据库产品。Sybase主要有三种版本:一是UNIX操作系统下运行的版本; 二是Novell Netware环境下运行的版本;三是Windows NT环境下运行的版本。对UNIX操作系统,目前应用最广泛的是SYBASE 10及SYABSE 11 for SCO UNIX。
Sybase数据库的特点:
(1)它是基于客户/服务器体系结构的数据库。
(2)它是真正开放的数据库。
(3)它是一种高性能的数据库。
5.DB2
DB2是内嵌于IBM的AS/400系统上的数据库管理系统,直接由硬件支持。它支持标准的SQL语言,具有与异种数据库相连的GATEWAY。因此它具有速度快、可靠性好的优点。但是,只有硬件平台选择了IBM的AS/400,才能选择使用DB2数据库管理系统。
DB2能在所有主流平台上运行(包括Windows),最适于海量数据。
DB2在企业级的应用最为广泛,在全球的500家最大的企业中,几乎85%以上都用DB2数据库服务器,而国内到1997年约占5%。
除此之外,还有微软的 Access数据库、FoxPro数据库等。既然现在有这么多的数据库系统,那么在游戏编程时应该选择什么样的数据库呢?首要的原则就是根据实际需要,另 一方面还要考虑游戏开发预算。现在常用的数据库有:SQL Server、My SQL、Oracle、FoxPro。其中MySQL是一个完全免费的数据库系统,其功能也具备了标准数据库的功能,因此,在独立制作时,建议使用。 Oracle虽然功能强劲,但它毕竟是为商业用途而存在的,目前很少在游戏中使用到。