




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
七、在执行SQL语句时绑定变量 1. 接收和定义变量的SQL*PLUS命令 ACCEPT DEFINE UNDEFINE & 2. 绑定变量SQL语句的例子(1) SQL select id, last_name, salary from s_emp where dept_id = &department_number; Enter value for department_number: 10 old 1: select id, last_name, salary from s_emp where dept_id=&department_number; new 1: select id, last_name, salary from s_emp where dept_id= 10 SQL SET VERIFY OFF | ON;可以关闭和打开提示确认信息old 1和new 1的显示. 3. 绑定变量SQL语句的例子(2) SQL select id, last_name, salary from s_emp where title = &job_title; Enter value for job_title: Stock Clerk 11 J2EE zxw SQL select id, last_name, salary from s_emp where hiredate to_date( &start_hire_date,YYYY-MM-DD); Enter value for start_hire_date : 2001-01-01 把绑定字符串和日期类型变量时,变量外面要加单引号 也可绑定变量来查询不同的字段名 输入变量值的时候不要加;等其它符号 4. ACCEPT的语法和例子 SQL ACCEPT variable datatype FORMAT PROMPT text HIDE 说明: variable 指变量名 datatype 指变量类型,如number,char等 format 指变量显示格 式 prompt text 可自定义弹出提示符的内容text hide 隐藏用户的输入符号 使用ACCEPT的例子: ACCEPT p_dname PROMPT Provide the department name: ACCEPT p_salary NUMBER PROMPT Salary amount: ACCEPT pswd CHAR PROMPT Password: HIDE ACCEPT low_date date format YYYY-MM-DD PROMPT“Enter the low date range(YYYY-MM-DD):” 4. DEFINE的语法和例子 SQL DEFINE variable = value 说明: variable 指变量名 value 指变量值 定义好了变良值后, 执行绑定变量的SQL语句时不再提示输入变量 使用DEFINE的例子: SQL DEFINE dname = sales SQL DEFINE dname DEFINE dname = “sales” (CHAR) SQL select name from dept where lower(name)=&dname; NAME - sales sales SQL UNDEFINE dname SQL DEFINE dname Symbol dname is UNDEFINED 5. SQL*PLUS里传递参数到保存好的*.sql文件里 SQL /路径名/文件名 参数名1,参数名2, . SQL start /路径名/文件名 参数名1,参数名2, . 注意事项: 一次最多只能获取9个&变量, 变量名称只能是从&1,&2到&9 变量名后不要加特殊的结束符号 如果在SQL*PLUS里要把&符号保存在ORACLE数据库里,要修改sql*plus环境变量define SQL set define off; 八、概述数据模型和数据库设计 1. 系统开发的阶段: Strategy and Analysis Design Build and Document Transition Production 12 J2EE zxw 2. 数据模型 Model of system in clients mind Entity model of clients model Table model of entity model Tables on disk 3. 实体关系模型 (ERM)概念 ERM ( entity relationship modeling) 实体 存有特定信息的目标和事件 例如: 客户,订单等 属性 描述实体的属性 例如: 姓名,电话号码等 关系 两个实体间的关系 例如:订单和产品等 实体关系模型图表里的约定 Dashed line (虚线) 可选参数 “may be” Solid line (实线) 必选参数 “must be” Crows foot (多线) 程度参数 “one or more” Single line (单线) 程度参数 “one and only one” 4. 实体关系模型例子 每个订单都必须有一个或几个客户 每个客户可能是一个或几个订单的申请者 5. 实体关系的类型 1:1 一对一 例如: 的士和司机 M:1 多对一 例如: 乘客和飞机 1:M 一对多 例如: 员工和技能 6. 校正实体关系的原则 属性是单一值的, 不会有重复 属性必须依存于实体, 要有唯一标记 没有非唯一属性依赖于另一个非唯一的属性 7. 定义结构时的注意事项 减少数据冗余 减少完整性约束产生的问题 确认省略的实体,关系和属性 8. 完整性约束的要求 Primary key 主关键字 唯一非NULL Foreign key 外键 依赖于另一个Primary key,可能为NULL Column 字段名 符合定义的类型和长度 Constraint 约束条件 用户自定义的约束条件,要符合工作流要求 例如: 一个销售人员的提成不能超过它的基本工资 Candidate key 候选主关键字 多个字段名可组成候选主关键字, 其组合是唯一和非NULL的 9. 把实体关系图映射到关系数据库对象的方法 把简单实体映射到数据库里的表 把属性映射到数据库里的表的字段, 标明类型和注释 把唯一标记映射到数据库里的唯一关键字 把实体间的关系映射到数据库里的外键 13 J2EE zxw 其它的考虑: 设计索引,使查询更快 建立视图,使信息有不同的呈现面, 减少复杂的SQL语句 计划存储空间的分配 重新定义完整性约束条件 10. 实体关系图里符号的含义 PK 唯一关键字的字段 FK 外键的字段 FK1,FK2 同一个表的两个不同的外键 FK1,FK1 两个字段共同组成一个外键 NN 非null字段 U 唯一字段 U1,U1 两个字段共同组成一个唯一字段 九、创建表 1. ORACLE常用的字段类型 ORACLE常用的字段类型有 VARCHAR2 (size) 可变长度的字符串, 必须规定长度 CHAR(size) 固定长度的字符串, 不规定长度默认值为 NUMBER(p,s) 数字型p是位数总长度, s是小数的长度, 可存负数 最长38位. 不够位时会四舍五入. DATE 日期和时间类型 LOB 超长字符, 最大可达4G CLOB 超长文本字符串 BLOB 超长二进制字符串 BFILE 超长二进制字符串, 保存在数据库外的文件里是只读的. 数字字段类型位数及其四舍五入的结果 原始数值1234567.89 数字字段类型位数 存储的值 Number 1234567.89 Number 12345678 Number 错 Number(9,1) 1234567.9 Number(9,3) 错 Number(7,2) 错 Number(5,-2) 1234600 Number(5,-4) 1230000 Number(*,1) 1234567.9 2. 创建表时给字段加默认值 和约束条件 创建表时可以给字段加上默认值 例如 : 日期字段 DEFAULT SYSDATE 这样每次插入和修改时, 不用程序操作这个字段都能得到动作的时间 14 J2EE zxw 创建表时可以给字段加上约束条件 例如: 非空 NOT NULL 不允许重复 UNIQUE 关键字 PRIMARY KEY 按条件检查 CHECK (条件) 外键 REFERENCES 表名(字段名) 3. 创建表的例子 CREATE TABLE DEPT( EPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY, DNAME VARCHAR2(14), LOC VARCHAR2(13) ; CREATE TABLE region( ID number(2) NOT NULL PRIMARY KEY, postcode number default 0 NOT NULL, areaname varchar2(30) default NOT NULL); 4. 创建表时的命名规则和注意事项 表名和字段名的命名规则:必须以字母开头,可以含符号A-Z,a-z,0-9,_,$,# 大小写不区分 不用SQL里的保留字, 一定要用时可用双引号把字符串括起来 用和实体或属性相关的英文符号长度有一定的限制 注意事项: 建表时可以用中文的字段名, 但最好还是用英文的字段名 创建表时要把较小的不为空的字段放在前面, 可能为空的字段放在后面 建表时如果有唯一关键字或者唯一的约束条件,建表时自动建了索引 一个表的最多字段个数也是有限制的,254个. 5. 约束名的命名规则和语法 约束名的命名规则约束名如果在建表的时候没有指明,系统命名规则是SYS_Cn(n是数字) 约束名字符串的命名规则同于表和字段名的命名规则 6. 使用约束时的注意事项 约束里不能用系统函数,如SYSDATE和别的表的字段比较 可以用本表内字段的比较 想在事务处理后, 做约束的检查 SQL alter session set constraints deferred. 7. 由实体关系图到创建表的例子 s_dept 前提条件:已有region表且含唯一关键字的字段id SQL CREATE TABLE s_dept (id NUMBER(7) CONSTRAINT s_dept_id_pk PRIMARY KEY, name VARCHAR2(25) CONSTRAINT s_dept_name_nn NOT NULL, region_id NUMBER(7) CONSTRAINT s_dept_region_id_fk REFERENCES region (id), CONSTRAINT s_dept_name_region_id_uk UNIQUE(name, region_id); 8. 较复杂的创建表例子 15 J2EE zxw SQL CREATE TABLE s_emp ( id NUMBER(7) CONSTRAINT s_emp_id_pk PRIMARY KEY, last_name VARCHAR2(25) CONSTRAINT s_emp_last_name_nn NOT NULL, first_name VARCHAR2(25), userid VARCHAR2 CONSTRAINT s_emp_userid_nn NOT NULL CONSTRAINT s_emp_userid_uk UNIQUE, start_date DATE DEFAULT SYSDATE, comment
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025家居电商销售及智能物流配送与售后跟踪服务合同
- 2025年智能互动广告内容开发与推广合同
- 培训茶叶知识计划表课件
- 2025年地方特色餐饮品牌独家代理权转让及运营合作协议
- 2025年公立医院行政支持岗位劳动合同模板下载
- 2025年体育场馆运营权及债务承继合作协议
- 2025年新型餐饮连锁品牌加盟授权管理合同
- 高端船舶租赁服务及租赁信息平台开发执行合同
- 2025年北京中小学校园安全设施建设合同示范
- 2025年绿色农产品供应链合作协议书
- QC新老七大工具培训课件
- SX-22163-QR345工装维护保养记录
- JJF 2025-2023高动态精密离心机校准规范
- 2023年航空职业技能鉴定考试-候机楼服务技能考试题库(含答案)
- 医院腹腔镜手术知情同意书
- p型半导体和n型半导体课件
- GB/T 748-2005抗硫酸盐硅酸盐水泥
- 走好群众路线-做好群众工作(黄相怀)课件
- 混凝土结构设计原理教学教案
- 民间文学(全套课件)
- 专升本00465心理卫生与心理辅导历年试题题库(考试必备)
评论
0/150
提交评论