上节回顾:
等值连接:
非等值连接:
外连接:
左外连接:
右外连接:
from 主表,副表
自连接:
组函数:
group by 分组 having 过滤条件
数据库=====》 数据建模需注意的事项
软件开发流程:
1、跟客户确定系统需求
2、形成需求分析文档
3、做设计文档(相关数据===实体、表、数据、抽象~)
4、编码
5、测试、试运行
6、产品上线、运行
如何把模型想法转变为实体====把实体如何转换为表关系
Entity 实体 表和类之间
Attribute 属性 属性和表中的字段的关系
Relationship 关系 关系的映射 表和表之间
建表的三大范式:
第一范式:数据表当中每一列都是不可再分割的,每个表当中只能包含一个实例信息;
第二范式:要求数据表中的每个实例或者行可以被唯一的区分,为实现区分通常需要给每列添加唯一标识列(主键)做为唯一的标识;
第三范式:要求一数据库表中不包含已经在其他表中已包含的非主键字信息属性不依赖于其他的非主属性。
约束:
PK primary key 唯一且非空(主键约束)
FK foreign key 一张表要引用另一张表(外键约束)
UK unique key 唯一可为空(唯一约束)
NOT NULL 设置不可为空(非空约束)
类型:
varchar2(32) 可变长的 "abcddd"
varchar(32)
number
number(p,s) 有小数位数
date 日期
long 大文本 2GB
clob 存入二进制数据类型 图像、声音
建表语法
CREATE TABLE 表名(
字段 类型,
字段 类型,
.......
字段 类型
);
PK primary key
create table Test(
id number primary key,
name varchar2(32) not null
);
FK foreign key
create table Test1(
test1_id number primary key,
test1_name varchar2(32) not null,
);
create table Test2(
test2_id number references test1(test1_id),
test2_name varchar2(32) not null,
primary key(test2_id)
);
关键字:FK=======》references
UK unique key
create table Test(
id number unique,
name varchar2(32) not null
);
NOT NULL
create table Test(
id number,
name varchar2(32) not null
);
添加记录
insert into 表名 values(值);
insert into test values(1,'123');
一对一:
card身份证号 person人
create table person(
id number primary key,
name varchar2(32)
);
create table card(
c_id number references person(id),
name varchar2(32),
primary key(c_id)
);
一对多:
人person 书book
create table person(
id number primary key,
name varchar2(32) not null
);
create table book(
book_id number primary key,
name varchar(32) not null,
person_id number references person(id)
);
多对多:
学生student 课程course
create table student(
s_id number primary key,
s_name varchar2(32) not null
);
create table course(
c_id number primary key,
c_name varchar2(32) not null
);
//中间表
create table StudentSelectCourse(
s_id number references student(s_id),
c_id number references course(c_id),
primary key(s_id,c_id)
);
分享到:
相关推荐
4. Oracle Field Service Oracle The Programs Oracle Field Service Oracle Field Service Oracle Field Service Oracle Field Service 5. Oracle Field ServiceReverse engineering, disassembly,or ...
4、连接oracle服务器时需要手动配置tnsnames.ora,用户可参照tnsnames.ora中的注释部分进行配置。 5、本软件卸载时,将删除已安装的文件、环境变量及相应的注册表信息,绝对绿色! 注: 已安装了oracle的用户,如想...
cx_Oracle是Python数据库API规范的实现,用于访问Oracle数据库。目前,该模块经过对Oracle客户端版本11.2、12.1和12.2以及Python版本2.7、3.4、3.5和3.6的测试。cx_Oracle遵循开源的BSD许可证,这表示用户可以自由地...
4. **Oracle参考手册**:参考手册是Oracle数据库使用者的重要工具,它们详细介绍了Oracle的各种特性和功能。`Ora9iSQL参考手册.chm`和`SQL语言参考大全.chm`可能涵盖了SQL标准及Oracle扩展的语法、操作和最佳实践。`...
首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...
Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...
Oracle JDBC驱动包是Oracle数据库与Java应用程序之间进行通信的关键组件,它使得Java程序员能够通过编写Java代码来操作Oracle数据库。标题中的"ojdbc6"指的是Oracle JDBC驱动的一个特定版本,适用于Java SE 6环境。...
ORACLE_HOME=$ORACLE_BASE/oracle ORACLE_SID=hsj PATH=$ORACLE_HOEM/bin:$PATH; LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH 3...
4. **ldap.ora**:如果使用LDAP(轻量级目录访问协议)进行身份验证,此文件会包含相关的配置信息。 5. **network/admin** 目录:包含了所有与网络连接相关的配置文件。 6. **instantclient**:Oracle Instant ...
oracle.ManagedDataAccess.dll(oracle.ManagedDataAccess.Client)全托管驱动。 此驱动对32位和64位oracle数据库具有很好的连接兼容性。 可采用无客户端远程连接oracle,或在本机使用连接。 使用此驱动可以完全替换...
4. 会话池对象(Session Pool Object):用于管理数据库连接池。这允许应用程序更有效地重用数据库连接,减少连接创建和销毁的开销。 5. 订阅对象(Subscription Object):用于实现数据库事件通知的订阅功能。通过...
4. Navicat的使用:Navicat通过oci.dll与Oracle数据库进行通信,允许用户进行数据库连接、数据查询、数据编辑、备份、数据同步等多种操作。Navicat支持多种数据库类型,因此oci.dll对于Navicat来说,是其能够兼容...
《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle...
sap oracle sap oracle sap oracle
4. oraocci11.dll:Oracle Call Interface for C++,为C++开发者提供访问Oracle数据库的API。 5. SqlDbx.exe:SqlDbx的可执行文件,用于启动应用程序。 连接Oracle数据库的具体步骤如下: 1. 安装或确保SqlDbx已...
4. 如果需要访问远程Oracle数据库,还需要设置`tnsnames.ora`文件,定义数据库服务名和连接参数。 5. 安装完成后,启动Navicat并新建Oracle连接,输入数据库的SID或服务名、用户名、密码等信息,Navicat就可以通过...
使用了,ODP.NET 方式链接数据库,只要把Oracle.ManagedDataAccess.dll引入取代以前的Oracle.DataAccess.dll即可。 这种方式也是oracle公司提供的,稳定性要比之前那种更好,而且也是免安装客户端的,目前还没测试...
4. **network/admin** 目录:包含网络配置文件,如listener.ora(监听器配置)和sqlnet.ora(网络服务和安全设置),虽然Instant Client默认不启动监听器,但可以配置这些文件以适应特定需求。 5. **oci.lib/oci....
4. **Oracle Instant Client**:轻量级的客户端,包含必要的库文件,允许应用程序连接到Oracle数据库,而无需完整安装客户端。 5. **Oracle JDBC驱动**:对于Java开发者,JDBC驱动提供了连接Oracle数据库的能力。 ...
这里提到的三本书籍——"Oracle 9i初学者指南.zip"、"Oracle专家高级编程.pdf"以及"Effective Oracle by Design.pdf"都是Oracle学习者和专业开发者的宝贵资源。 "Oracle 9i初学者指南.zip":这是一本针对Oracle 9i...