Oracle安装及数据库和表的创建.pptx
第六章OracleOracle安装及数据库和表的创建安装及数据库和表的创建第二单元本章相关学习资源安装Oracle专题创建数据库表专题Web前端基础及数据库开发第6章 Oracle安装及数据库和表的创建第2页/共44页学习平台学习平台“Oracle数据数据库”课程课程学生用书学生用书预习检查第3页/共44页使用使用SQL*PlusSQL*Plus连接数据库的语法连接数据库的语法创建表语法创建表语法数据完整性包括哪几个方面数据完整性包括哪几个方面本章任务任务任务1 1:了解和安装数据库:了解和安装数据库任务任务2 2:使用工具连接数据库:使用工具连接数据库任务任务3 3:创建数据库、创建表空间和用户权限管理:创建数据库、创建表空间和用户权限管理任务任务4 4:创建数据表和添加约束:创建数据表和添加约束第4页/共44页了解数据库相关概念了解数据库相关概念安装并连接数据库安装并连接数据库创建数据库、创建表空间和用户权限管理创建数据库、创建表空间和用户权限管理创建数据库表和添加约束创建数据库表和添加约束本章目标第5页/共44页点点重重点点难难点点重重串讲:数据库基本概述第6页/共44页根据你的理解,说一说:根据你的理解,说一说:什么是数据库?什么是数据库?什么是数据库管理系统?什么是数据库管理系统?什么是数据库服务器?什么是数据库服务器?当今主流数据库有哪些?当今主流数据库有哪些?数据库管理系统发展简史?数据库管理系统发展简史?串讲:关系型数据库什么是关系型数据库?什么是关系型数据库?只包含单一的数据结构关系一个数据库是由一组数据表(table)组成表中的每一行称为记录(record)表中的每一列称为字段(field)第7页/共44页字段字段局域网局域网(LAN)广域网广域网(WAN)城域网城域网(MAN)用户表用户表记录记录串讲:关系型数据库在关系模型中,现实世界的实体以及实体间的各在关系模型中,现实世界的实体以及实体间的各种联系均用单一的结构类型即关系来表示种联系均用单一的结构类型即关系来表示 课程实体课程实体 课程学生关系实体课程学生关系实体 学生实体学生实体第8页/共44页课程表课程表课程号课程号课程名称课程名称学生表学生表学生编号学生编号姓名姓名性别性别年龄年龄课程学生关系表课程学生关系表学生编号学生编号课程号课程号成绩成绩串讲:安装Oracle小结概念介绍概念介绍全局数据库名SID口令管理中:解锁scott账户,oracle数据库示范账号第9页/共44页和操作系统交互,和操作系统交互,Oracle数据库的一个引用也数据库的一个引用也是服务名,是服务名,可用其访问数据库可用其访问数据库唯一标识唯一标识Oracle数据库的名称数据库的名称串讲:Windows Windows 中的中的 Oracle Oracle 服务简介服务简介OracleServiceSIDOracleServiceSID服务服务该服务启动系统标识符为SID的数据库实例,其中 SID 是在安装 Oracle 10g 时输入的数据库名称OracleOraDb10g_home2TNSListenerOracleOraDb10g_home2TNSListener服务服务该服务启动数据库服务器的监听器,监听器接受来自客户端应用程序的连接请求若监听器未启动,则客户端将无法连接到数据库服务器OracleDBConsoleSIDOracleDBConsoleSID服务服务数据库控制台服务,采用浏览器使用的Oracle企业管理器。要使用此工具就要启动该服务后,通过浏览器访问http:/localhost:1158/em/第10页/共44页串讲:Windows Windows 中的中的 Oracle Oracle 服务简介服务简介OracleOraDb10g_home2iSQL*PlusOracleOraDb10g_home2iSQL*Plus服务服务iSqlPlus为客户端工具,要使用此工具就要启动该服务后,通过浏览器访问http:/localhost:5560/isqlplus/端口查询:Oracle主目录product10.2.0db_1installportlist.iniOracleJobSchedulerSIDOracleJobSchedulerSID服务服务是任务调度服务。通常情况下不启动它第11页/共44页讲解:Oracle 网络配置OracleOracle产品安装完成后,服务器和客户端都需要产品安装完成后,服务器和客户端都需要进行网络配置才能实现网络连接进行网络配置才能实现网络连接服务器端配置监听器,客户端配置网络服务名服务器端配置监听器,客户端配置网络服务名第12页/共44页tnsnames.oraOracle 客户端客户端listener.oraOracle 服务器服务器监听协议监听协议地址地址端口号端口号全局数据库名称全局数据库名称监听协议监听协议地址地址端口号端口号服务名服务名本地网络服务名本地网络服务名讲解:Oracle 网络配置第13页/共44页在安装服务器软件时自动配置一个监听器在安装服务器软件时自动配置一个监听器Oracle中的中的 Net Manager工具和工具和Net Configuration Assistant都能用来配置监听器和网络服务名都能用来配置监听器和网络服务名建议使用建议使用Net Manager工具工具演示示例:连接数据库配置演示示例:连接数据库配置串讲:连接数据库SQL*Plus SQL*Plus 连接数据库连接数据库SQLconn 用户名/密码本地网络服务名PL/SQL DeveloperPL/SQL Developer连接数据库连接数据库第14页/共44页登录数据库用户名登录数据库用户名密码密码本地网络服务名本地网络服务名连接身份连接身份上机练习需求需求说明明配置本地网络服务名为orcldb使用PL/SQL Developer连接数据库用system用户登录第15页/共44页完成时间完成时间:10分钟分钟共性问题集中讲解共性问题集中讲解练习练习练习练习小结第16页/共44页阐述数据库、数据库管理系统和数据库服务器阐述数据库、数据库管理系统和数据库服务器的概念的概念阐述阐述OracleOracle数据库的主要服务数据库的主要服务使用使用SQL*Plus SQL*Plus 连接数据库语法连接数据库语法串讲:创建数据库、创建表空间和用户权限管理创建创建数据库数据库ORCLORCL,创建创建用户用户user1user1,该用户可以登录该用户可以登录数据库并进行操作数据库并进行操作 可以在安装可以在安装OracleOracle软件时、安装软件时、安装OracleOracle软件后创建数软件后创建数据库。可以通过图形界面和据库。可以通过图形界面和SQLSQL语句实现语句实现每个数据库都有每个数据库都有SYSSYS和和SYSTEMSYSTEM两个默认用户,都具有两个默认用户,都具有创建用户权限创建用户权限最好通过最好通过CREATE TABLESPACECREATE TABLESPACE命令为每个用户创建自命令为每个用户创建自己的表空间己的表空间通过通过CREATE USERCREATE USER命令来创建命令来创建用户用户user1user1通过通过GRANTGRANT命令给命令给用户用户user1user1赋予赋予相应权限相应权限 第17页/共44页串讲:创建数据库创建数据库第18页/共44页启动启动DBCA(数据库配置助手)(数据库配置助手)选择选择“创建数据库创建数据库”指定数据库名和数据库实例名指定数据库名和数据库实例名为四个解锁用户指定密码为四个解锁用户指定密码包括包括SYS、SYSTEM用户用户指定创建选项指定创建选项记住这些信息记住这些信息关键步骤关键步骤串讲:登录串讲:登录管理管理后台后台 SYSSYS和和SYSTEMSYSTEM用户都是用户都是Oracle Oracle 的系统用户,它们的系统用户,它们都使用都使用SYSTEMSYSTEM表空间,表空间,SYSSYS拥有更大的权限拥有更大的权限SYS用用户SYSTEM用用户地位Oracle的一个超级用户Oracle默认的系统管理员,拥有DBA权限作用主要用来维护系统信息和管理实例 通常用来管理Oracle数据库的用户、权限和存储等登录身份只能以SYSDBA或SYSOPER角色登录只能以Normal方式登录第19页/共44页串讲:创建串讲:创建表空间表空间基于应用性能和管理方面的考虑,最好为不同的基于应用性能和管理方面的考虑,最好为不同的用户创建独立的表空间用户创建独立的表空间通过通过CREATE TABLESPACECREATE TABLESPACE命令创建表空间命令创建表空间第20页/共44页CREATE TABLESPACE user1_tablespaceDATAFILE E:oracleproduct10.2.0oradataORCLuser1.DBFSIZE 100MAUTOEXTEND ON NEXT 32M MAXSIZE UNLIMITEDLOGGINGEXTENT MANAGEMENT LOCALSEGMENT SPACE MANAGEMENT AUTO;CREATE TABLESPACE user1_tablespaceDATAFILE E:oracleproduct10.2.0oradataJBITDBuser1.DBFSIZE 100M;串讲:创建串讲:创建用户用户第21页/共44页CREATE USER userIDENTIFIED BY passwordDEFAULT TABLESPACE tablespaceTEMPORARY TABLESPACE tablespace必须指定用户名和密码必须指定用户名和密码CREATE USER user1IDENTIFIED BY user1DEFAULT TABLESPACE user1_tablespace;可以为用户指定默认表空间或临时表空间可以为用户指定默认表空间或临时表空间串讲:权限串讲:权限和和角色角色 权限指执行特定类型权限指执行特定类型SQL SQL 命令或访问其他对象的权利命令或访问其他对象的权利系统权限和对象权限系统权限和对象权限系统权限允许用户执行某些数据库操作(例如在数据库中创建表空间的权利)常见系统权限:create table、create view、create sequence等。对象权限允许用户对某一特定对象执行特定的操作(针对数据库中的表、视图、序列、存储过程等)角色是具有名称的一组权限的组合角色是具有名称的一组权限的组合常用系统预定义角色常用系统预定义角色CONNECT:临时用户(create session连接数据权限)RESOURCE:更为可靠和正式的用户(创建表、触发器、序列、存储过程等)DBA:数据库管理员角色,拥有管理数据库的最高权限第22页/共44页为了简化权限管理,引入了角色的概念为了简化权限管理,引入了角色的概念用户必须赋予相应的权限用户必须赋予相应的权限串讲:权限串讲:权限和和角色角色第23页/共44页-分配权限或角色分配权限或角色GRANT privileges or role TO user;-撤销权限或角色撤销权限或角色REVOKE privileges or role FROM user;演示示例:创建表空间用户并授权演示示例:创建表空间用户并授权上机练习需求需求说明明创建自动增长的表空间user2_tablespace,其中,数据文件名称为user2_tablespace.DBF,文件大小100M,当空间使用完毕后会自动扩展空间大小创建用户user2,该用户可以登录数据库并进行操作 第24页/共44页完成时间完成时间:15分钟分钟共性问题集中讲解共性问题集中讲解练习练习练习练习小结:使用 Oracle 数据库的开发流程第25页/共44页服务器端安装 Oracle 服务器软件创建数据库(安装时自动创建)配置监听器(安装时自动配置)启动Oracle实例(自动启动服务)安装 Oracle 客户端软件配置网络服务名以新用户登录 Oracle提交 SQL 查询创建新用户并授权创建用户表空间客户端串讲:串讲:Oracle Oracle 数据类型数据类型 第26页/共46页创建表时,必须为各个列指定数据类型创建表时,必须为各个列指定数据类型数据类型数据类型字符字符数值数值日期时间日期时间RAW/LONG RAWLOBOracle 数据类型有哪些?数据类型有哪些?数据类型OracleOracle语法上支持的数值类型:语法上支持的数值类型:第27页/共46页串讲:创建串讲:创建数据库数据库表表通过通过CREATE TABLECREATE TABLE命令创建数据库表命令创建数据库表 第28页/共44页CREATE TABLE stuInfo (stuNo CHAR(6)NOT NULL,-学号,非空(必填)学号,非空(必填)stuName VARCHAR2(20)NOT NULL,-学员姓名,非空学员姓名,非空(必填)(必填)stuAge NUMBER(3,0)NOT NULL,-年龄,非空(必填)年龄,非空(必填)stuID NUMERIC(18,0),-身份证号身份证号 stuSeat NUMERIC(2,0)-座位号座位号);创建学生表创建学生表串讲:创建串讲:创建数据库数据库表表通过通过ALTER TABLEALTER TABLE命令修改数据库命令修改数据库表表 第29页/共44页ALTER TABLE stuInfo ADD(stutel_no VARCHAR2(12),stuAddress VARCHAR2(20);ALTER TABLE stuInfo MODIFY(stuName varchar2(25);ALTER TABLE stuInfo MODIFY(stuAge NUMBER(3,0)default 20);ALTER TABLE stuInfo DROP COLUMN stutel_no;-删除删除stutel_no列列ALTER TABLE stuInfo DROP (stutel_no,stuSeat);-删除删除stutel_no和和stuSeat列列添加列添加列修改列修改列演示示例:演示示例:创建并修改创建并修改stuInfo表表删除列删除列上机练习需求需求说明明创建学生成绩表stuMarks,包含以下几列:考号:examNo 固定长7位字符,非空学号:stuNo 固定长6位字符,非空笔试成绩:writtenExam,非空机试成绩:labExam,非空第30页/共44页完成时间完成时间:5分钟分钟共性问题集中讲解共性问题集中讲解练习练习练习练习上机练习需求需求说明明创建供应商表S,包含以下几列:供应商代码:sNo 固定长2位字符,非空供应商姓名:sName 可变长8位字符,非空供应商所在城市:city 可变长20位字符,非空创建产品表P,包含以下几列:产品代码:pNo 固定长2位字符,非空产品名:pName 可变长8位字符,非空产品等级:kind 数值,非空创建供应情况表SP,包含以下几列:供应商代码:sNo 固定长2位字符,非空产品代码:pNo 固定长2位字符,非空供应斤数:qty 数值,非空第31页/共44页完成时间完成时间:10分钟分钟共性问题集中讲解共性问题集中讲解练习练习练习练习讲解:完整性内容举例输入的类型是否正确?输入的类型是否正确?年龄必须是数字输入的格式是否正确?输入的格式是否正确?身份证号码必须是18位是否在允许的范围内?是否在允许的范围内?性别只能是“男”或者“女”是否存在重复输入?是否存在重复输入?学员信息输入了两次是否符合其他特定要求?是否符合其他特定要求?学生的出生日期必须小于入学日期第32页/共44页列值要求(约束)列值要求(约束)整行要求(约束)整行要求(约束)域完整性域完整性实体完整性实体完整性引用完整性引用完整性自定义完整性自定义完整性提供四种类型的约束保证完整性提供四种类型的约束保证完整性讲解:四种完整性约束第33页/共44页讲解:实体完整性第34页/共44页河南新乡河南新乡赵可以赵可以0010016河南新乡河南新乡张丽鹃张丽鹃0010015江西南昌江西南昌雷铜雷铜0010014湖南新田湖南新田吴兰吴兰0010013山东定陶山东定陶李山李山0010012.地址地址姓名姓名学号学号江西南昌江西南昌雷铜雷铜0010014约束方法:唯一约束、主键约束方法:唯一约束、主键约束约束讲解:域完整性第35页/共44页河南新乡河南新乡赵可以赵可以河南新乡河南新乡张丽鹃张丽鹃0010015江西南昌江西南昌雷铜雷铜0010014湖南新田湖南新田吴兰吴兰0010013山东定陶山东定陶李山李山0010012.地址地址姓名姓名学号学号湖北江门湖北江门李亮李亮8700000000约束方法:限制数据类型、检查约束、外键约束方法:限制数据类型、检查约束、外键约束、约束、非空约束非空约束0010016学学号号要要求求七七位位字字符符河南新乡河南新乡赵可以赵可以0010016河南新乡河南新乡张丽鹃张丽鹃0010015江西南昌江西南昌雷铜雷铜0010014湖南新田湖南新田吴兰吴兰0010013山东定陶山东定陶李山李山0010012地址地址姓名姓名学号学号980010021数学数学约束方法:外键约束约束方法:外键约束引用完整性科目科目学号学号分数分数数学数学001001288数学数学001001374语文语文001001267语文语文001001381数学数学001001698第36页/共44页讲解:自定义完整性帐号帐号姓名姓名信用信用.00192孙悟空孙悟空700288猪悟能猪悟能612333段誉段誉890111虚竹虚竹4093000岳不群岳不群-10第37页/共44页AV121322乔峰乔峰CV0016AV372133玄痛玄痛CV0015AV378291沙悟净沙悟净AV0014AV378290猪悟能猪悟能AV0013AV378289孙悟空孙悟空AV0012.会员证会员证用户姓名用户姓名用户编号用户编号约束方法:规则、存储过程、触发器约束方法:规则、存储过程、触发器触发器:检查信用值触发器:检查信用值讲解:约束约束的目的:确保表中数据的完整型约束的目的:确保表中数据的完整型常用的约束类型常用的约束类型:第38页/共44页约束类型约束类型说明说明主键约束(Primary Key Constraint)要求主键列数据唯一,并且不允许为空唯一约束(Unique Constraint)要求该列唯一,允许为空,但只能出现一个空值检查约束(Check Constraint)某列取值范围限制、格式限制等,如有关年龄的约束外键约束(Foreign Key Constraint)用于两表间建立关系,需要指定引用主表的那列串讲:添加约束 第39页/共44页添加约束的语法:添加约束的语法:ALTER TABLE 表名表名 ADD CONSTRAINT 约束名约束名 约束类型约束类型 具体的约束说明具体的约束说明约束名的取名规则推荐采用:约束类型_约束字段主键(Primary Key)约束:如 PK_stuNo唯一(Unique)约束:如 UQ_stuID检查(Check)约束:如 CK_stuAge外键(Foreign Key)约束:如 FK_stuNo 串讲:添加约束示例如何如何为学生表学生表创建主建主键约束?束?如何如何为身份身份证列添加列添加约束?束?如何如何为年年龄列添加列添加约束?要求年束?要求年龄在在15-40岁之之间,包含,包含15和和40。如何如何为学生成学生成绩表添加表添加约束?要求所有有成束?要求所有有成绩的学生一定在学生表中存在。的学生一定在学生表中存在。第40页/共44页演示示例:维护演示示例:维护学员信息表约束学员信息表约束讲解:删除约束如果错误地添加了约束如果错误地添加了约束,还,还可以删除约束可以删除约束 第41页/共44页-例如:删除例如:删除stuInfo表中年龄约束表中年龄约束ALTER TABLE stuInfo DROP CONSTRAINT CK_stuAge;ALTER TABLE 表名 DROP CONSTRAINT 约束名 演示示例:维护演示示例:维护学员信息表约束学员信息表约束答疑时间同学们请就以下方面的问题请教老师同学们请就以下方面的问题请教老师卸载Oracle基本步骤SQL语言的分类数据文件和表空间之间的关系(教员备课时自行填写)第42页/共44页总结第43页/共44页简述如何进行网络配置?简述如何进行网络配置?Oracle 数据库的开发流程是什么?数据库的开发流程是什么?数据完整性包括哪几个方面?数据完整性包括哪几个方面?作业必做教员备课时在此添加内容选做教员备课时在此添加内容提交时间:xxx提交形式:xxx阅读学生用书第7章,观看平台SQL语言和常用函数和高级查询专题课件教员备课时在此添加内容第44页/共44页课后作业课后作业预习作业预习作业第45页/共44页