电话:400-618-9090北京市昌平区建材城西路金燕龙办公楼一层黑马程序员:ORACLE数据库day1第1章一、ORACLE简介1.1(一)什么是ORACLEORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。ORACLE通常应用于大型系统的数据库产品。ORACLE数据库是目前世界上使用最为广泛的数据库管理系统,作为一个通用的数据库系统,它具有完整的数据管理功能;作为一个关系数据库,它是一个完备关系的产品;作为分布式数据库它实现了分布式处理功能。ORACLE数据库具有以下特点:(1)支持多用户、大事务量的事务处理(2)数据安全性和完整性控制(3)支持分布式数据处理(4)可移植性1.2(二)ORACLE体系结构电话:400-618-9090北京市昌平区建材城西路金燕龙办公楼一层1.2.11.数据库Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。1.2.22.实例一个Oracle实例(OracleInstance)有一系列的后台进程(BackguoundProcesses)和内存结构(MemoryStructures)组成。一个数据库可以有n个实例。1.2.33.数据文件(dbf)数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。1.2.44.表空间表空间是Oracle对物理数据库上相关数据文件(ORA或者DBF文件)的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。电话:400-618-9090北京市昌平区建材城西路金燕龙办公楼一层注:表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!1.2.55.用户用户是在表空间下建立的。用户登陆后只能看到和操作自己的表,ORACLE的用户与MYSQL的数据库类似,每建立一个应用需要创建一个用户。电话:400-618-9090北京市昌平区建材城西路金燕龙办公楼一层第2章二、ORACLE安装与配置2.1(一)VMware挂载windowsserver2003打开“资源”文件夹中的windows2003文件夹,双击扩展名为vmx的文件即可将windows2003系统挂载到VMware中电话:400-618-9090北京市昌平区建材城西路金燕龙办公楼一层2.2(二)网络配置2.2.11.创建虚拟网卡VMware中选择菜单“编辑”--“虚拟网络编辑器”弹出的窗口中,点击“添加网络”按钮,名称为VMnet2,确定北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090设置为仅主机方式,并设定子网IP为192.168.80.0北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-90902.设定虚拟操作系统的网络网卡右键点击虚拟操作系统,选择“设置”菜单项,弹出以下窗口北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090点击网络适配器,选择自定义,VMnet22.2.23.设定虚拟操作系统的IP地址在虚拟机的操作系统中设定IP地址为192.168.80.10北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090设置本地的操作系统的虚拟网卡VMnet的IP为192.168.80.6(与虚拟机中的操作系统的IP地址处于同一IP网段)在本地操作系统打开命令行,用ping命令测试网络是否连接成功2.3(三)安装ORACLE数据库将“资源”文件夹ORACLE安装包解压拷贝到虚拟机的系统中并北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090双击解压目录下的setup.exe,出现安装界面,如下:输入口令和确认口令,如:itcast,点击下一步,出现如下进度条,注:此口令即是管理员密码。北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090点击“下一步”,出现“概要”界面,点击“安装”。北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090出现安装进度条,等待安装完成,如下图:安装完成后,自动运行配置向导,如下图,等待其完成:北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090完成后,出现“口令管理”界面,如下图:点击“确定”,如下图:安装结束,点击“退出”。北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090此时可以命令提示符下进行测试安装结果输入:sqlplussystem/itcastitcast为你安装时输入的密码北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-90902.4(四)SQLPlus远程连接ORACLE数据库将“资源”文件夹中的instantclient_12_1拷贝到D盘根目录进入命令提示符,进入该目录,输入如下命令连接远程的ORACLE北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-90902.5(五)PLSQLDeveloper安装与配置(1)安装资源文件夹PLSQL+Developer10.0.3.1701注意事项:安装目录不能有中文和空格,否则连接不上将上边的目录改为D:\PLSQLDeveloper(2)配置客户端路径在弹出的登陆窗口中,点取消,Tools-Preferences北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090(3)编辑ORA文件在ORACLE的以下安装目录中找到tnsnames.ora文件,拷贝到本地电脑的D盘根目录。打开tnsnames.ora文件编辑,修改下图红色方框处北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090(4)设置环境变量TNS_ADMIN为D盘根目录(tnsnames.ora所在目录)(5)进入系统输入用户名system密码itcast即可进入到软件主界面。北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090(6)中文编码设置查看服务器端编码SQL:selectuserenv('language')fromdual我实际查到的结果为:AMERICAN_AMERICA.ZHS16GBK计算机-属性-高级系统设置-环境变量-新建设置变量名:NLS_LANG,变量值:第1步查到的值,我的是AMERICAN_AMERICA.ZHS16GBK第3章三、项目案例:《自来水公司收费系统》3.1(一)项目介绍与需求分析XXX市自来水公司为更好地对自来水收费进行规范化管理,决定委托传智播客.黑马程序员开发《自来水公司收费系统》。考虑到自来水业务数量庞大,数据并发量高,决定数据库采用ORACLE数据库。主要功能包括:1.、基础信息管理:(1)业主类型设置(2)价格设置(3)区域设置(4)收费员设置(5)地址设置北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-90902、业主信息管理:(1)业主信息维护(2)业主信息查询3、收费管理:(1)抄表登记(2)收费登记(3)收费记录查询(4)欠费用户清单4、统计分析:(1)收费日报单(2)收费月报表.......3.2(二)表结构设计3.2.11.业主类型表(T_OWNERTYPE)字段名类型(位数)是否必填说明IDNUMBER是主键NAMEVARCHAR2(30)是类型名称2.价格表(T_PRICETABLE)字段名类型(位数)是否必填说明北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090IDNUMBER是主键PRICENUMBER(10,2)是价格OWNERTYPEIDNUMBER是业主类型IDMINNUMNUMBER(10,2)是区间数开始值MAXNUMNUMBER(10,2)是区间数截止值3.区域表(T_AREA)字段名类型(位数)是否必填说明IDNUMBER是主键NAMEVARCHAR2(30)是区域名称4.收费员表(T_OPERATOR)字段名类型(位数)是否必填说明IDNUMBER是主键NAMEVARCHAR2(30)是操作员名称5.地址表(T_ADDRESS)字段名类型(位数)是否必填说明IDNUMBER是主键NAMEVARCHAR2(30)是地址名称AREAIDNUMBER是区域IDOPERATORIDNUMBER是操作员ID北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-90906.业主表(T_OWNERS)字段名类型(位数)是否必填说明IDNUMBER是主键NAMEVARCHAR2(30)是业主名称ADDRESSIDNUMBER是地址IDHOUSENUMBERNUMBER是门牌号WATERMETERVARCHAR2(30)是水表编号ADDDATEDATE是登记日期OWNERTYPEIDNUMBER是业主类型ID7.收费台账(T_ACCOUNT)字段名类型(位数)是否必填说明IDNUMBER是主键OWNERIDNUMBER是业主编号OWNERTYPEIDNUMBER是业主类型AREAIDNUMBER是所在区域YEARCHAR(4)是账务年份MONTHCHAR(2)是账务月份NUM0NUMBER上月累计数NUM1NUMBER本月累计数北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090USENUMNUMBER本月使用数METERUSERIDNUMBER抄表员METERDATEDATE抄表日期MONEYNUMBER(10,2)应缴金额ISFEECHAR(1)是是否缴费FEEDATEDATE缴费日期FEEUSERIDNUMBER收费员上述7张表的物理模型如下:3.3(三)创建表空间北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090解释:waterboss为表空间名称datafile用于设置物理文件名称size用于设置表空间的初始大小autoextendon用于设置自动增长,如果存储量超过初始大小,则开始自动扩容next用于设置扩容的空间大小3.4(四)创建用户wateruser为创建的用户名identifiedby用于设置用户的密码defaulttablesapce用于指定默认表空间名称3.5(五)用户赋权给用户wateruser赋予DBA权限后即可登陆createtablespacewaterbossdatafile'c:\waterboss.dbf'size100mautoextendonnext10mgrantdbatowaterusercreateuserwateruseridentifiedbyitcastdefaulttablespacewaterboss北京市昌平区建材城西路金燕龙办公楼一层电话:400-618-9090第4章四、表的创建、修改与删除4.1(一)创建表语法:4.1.1数据类型:1.字符型(1)CHAR:固定长度的字符类型,最多存储2000个字节(2)VARCHAR2:可变长度的字符类型,最多存储4000个字节(3)LONG:大文本类型。最大可以存储2个G4.1.22.数值型NU