一、创建数据库及模式

-- 创建示例数据库
create tablespace BOOKSHOP datafile 'BOOKSHOP.dbf' size 150;-- 创建模式
create schema resources authorization sysdba;
/create schema person authorization sysdba;
/create schema sales authorization sysdba;
/create schema production authorization sysdba;
/create schema purchasing authorization sysdba;
/create schema other authorization sysdba;
/

1、表空间

在 DM 数据库中,表空间由一个或者多个数据文件组成。DM 数据库中的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。在创建 DM 数据库时,会自动创建 5 个表空间:SYSTEM 表空间、ROLL 表空间、MAIN表空间、TEMP 表空间和 HMAIN 表空间。

1. SYSTEM 表空间存放了有关 DM 数据库的字典信息,用户不能在 SYSTEM 表空间创建表和索引。
2. ROLL 表空间完全由 DM 数据库自动维护,用户无需干预。该表空间用来存放事务运行过程中执行 DML 操作之前的值,从而为访问该表的其他用户提供表数据的读一致性视图。
3. MAIN 表空间在初始化库的时候,就会自动创建一个大小为 128M 的数据文件MAIN.DBF。在创建用户时,如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。
4. TEMP 表空间完全由 DM 数据库自动维护。当用户的 SQL 语句需要磁盘空间来完成某个操作时,DM 数据库会从 TEMP 表空间分配临时段。如创建索引、无法在内存中完成的排序操作、SQL 语句中间结果集以及用户创建的临时表等都会使用到 TEMP表空间。
5. HMAIN 表空间属于 HTS 表空间,完全由 DM 数据库自动维护,用户无需干涉。当用户在创建 HUGE 表时,未指定 HTS 表空间的情况下,充当默认 HTS 表空间。

每一个用户都有一个默认的表空间。对于 SYS、SYSSSO、SYSAUDITOR 系统用户,默认的用户表空间是 SYSTEM,SYSDBA 的默认表空间为 MAIN,新创建的用户如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。如果用户在创建表的时候,指定了存储表空间 A,并且和当前用户的默认表空间 B 不一致时,表存储在用户指定的表空间 A 中,并且默认情况下,在这张表上面建立的索引也将存储在 A 中,但是用户的默认表空间是不变的,仍为 B。一般情况下,建议用户自己创建一个表空间来存放业务数据,或者将数据存放在默认的用户表空间 MAIN 中。

SYSTEM、ROLL、MAIN 和 TEMP 表空间查看语句:
SELECT * FROM V$TABLESPACE;
HMAIN 表空间查看语句:
SELECT * FROM V$HUGE_TABLESPACE;

2、模式

用户的模式(SCHEMA)指的是用户账号拥有的对象集,在概念上可将其看作是包含表、视图、索引和权限定义的对象。在 DM 中,一个用户可以创建多个模式,一个模式中的对象(表、视图等)可以被多个用户使用。模式不是严格分离的,一个用户可以访问他所连接的数据库中有权限访问的任意模式中的对象。系统为每一个用户自动建立了一个与用户名同名的模式作为其默认模式,用户还可以用模式定义语句建立其它模式。

采用模式的原因有几点:

1. 允许多个用户使用一个数据库而不会干扰其它用户;
2. 把数据库对象组织成逻辑组,让它们更便于管理;
3. 第三方的应用可以放在不同的模式中,这样可以避免和其它对象的名字冲突。模式类似于操作系统层次的目录,只不过模式不能嵌套。

DM 模式可以通过 SQL 语句进行操作。DM 模式主要包含以下的模式对象:

1. 表;
2. 视图;
3. 索引;
4. 触发器;
5. 存储过程/函数;
6. 序列;
7. 全文索引;
8. 包;
9. 同义词;
10. 类;
11. 外部链接。

在引用模式对象的时候,一般要在模式对象名前面加上模式名。具体格式如下:

[模式名].对象名

当然,在当前模式和要引用的模式对象所属的模式相同时,可以省略模式名。如果我们访问一个表时,没有指明该表属于哪一个模式,系统就会自动给我们在表前加上缺省的模式名。类似地,如果我们在创建对象时不指定该对象的模式,则该对象的模式为用户的缺省模式。模式对象之外的其他对象统一称为非模式对象,非模式对象主要包括以下几种对象:

1. 用户;
2. 角色;
3. 权限;
4. 表空间。

二、创建表

set schema XXX ;    -- 指定模式


-- 设置当前模式为 person
SET SCHEMA person;-- 创建表
-- create address
drop table if exists person.address;
create table person.address(addressid int identity(1,1) primary key,address1 varchar(60) not null default '默认地址',address2 varchar(60),city varchar(30) not null,postalcode varchar(15) not null
) storage (on BOOKSHOP);comment ON table person.address is '地址表';
comment ON column person.address.addressid is '地址id';
comment ON column person.address.address1 is '地址1';
comment ON column person.address.address2 is '地址2';
comment ON column person.address.city is '城市';
comment ON column person.address.postalcode is '邮编';drop table if exists person.address_type;
-- create address_type
create table person.address_type(address_typeid int identity(1,1) primary key,name varchar(50) not null
)storage (on bookshop);-- create person
create table person.person(personid int identity(1,1) cluster primary key,sex char(1) not null,name varchar(50) not null,email varchar(50),phone varchar(25)
) storage (on BOOKSHOP);-- create person_type
create table person.person_type(person_typeid int identity(1,1) primary key,name varchar(256) not null
) storage (on BOOKSHOP);

三、初始化数据

DM数据库存在闪回操作,所以每次的DML操作会加入到事务中,我们可以对其进行rollback或者commit;

set schema person;-- insert person_type
insert into person_type(name)
values('采购经理'),
('采购代表'),
('销售经理'),
('销售代表');-- insert person
insert into person(sex,name,email,phone)
values('F','李 丽','lily@sina.com','02788548562'),
('M','王 刚','','02787584562'),
('M','李 勇','','02782585462'),
('F','郭 艳','','02787785462');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('F',' 孙 丽
','','13055173012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('M',' 黄 非
','','13355173012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('F',' 王 菲
','','13255173012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('M',' 张 平
','','13455173012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('M',' 张 红
','','13555173012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('F',' 刘 佳
','','13955173012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('F',' 王 南
','','15955173012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('F',' 李 飞
','','15954173012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('F',' 张大海
','','15955673012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('F',' 王宇轩
','','15955175012');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('F',' 桑泽恩
','','15955173024');
INSERT INTO PERSON.PERSON(SEX,NAME,EMAIL,PHONE) VALUES('F',' 刘 青
','','15955173055');
INSERT INTO PERSON.PERSON(SEX,NAME,PHONE) VALUES('F',' 杨凤兰
','02785584662');--insert address_type
insert into address_type(name) values('发货地址');INSERT INTO ADDRESS_TYPE(NAME) VALUES('送货地址');insert into person.address_type(name)
values('家庭地址'),('公司地址');-- 插入数据
-- insert address
insert into person.address(address1,address2,city,postalcode)
values('洪山区 369 号金地太阳城 56-1-202','','武汉市洪山区','430073'),
('青山区青翠苑 1 号','','武汉市青山区','430080'),
('武昌区武船新村 115 号','','武汉市武昌区','430063'),
('汉阳大道熊家湾 15 号','','武汉市汉阳区','430050');INSERT INTO PERSON.ADDRESS(ADDRESS1,ADDRESS2,CITY,POSTALCODE) VALUES('洪山
区保利花园 50-1-304','','武汉市洪山区','430073');INSERT INTO PERSON.ADDRESS(ADDRESS1,ADDRESS2,CITY,POSTALCODE) VALUES('洪山
区关山春晓 51-1-702','','武汉市洪山区','430073'); INSERT INTO PERSON.ADDRESS(ADDRESS1,ADDRESS2,CITY,POSTALCODE) VALUES('江汉
区发展大道 561 号','','武汉市江汉区','430023');INSERT INTO PERSON.ADDRESS(ADDRESS1,ADDRESS2,CITY,POSTALCODE) VALUES('武昌
区武船新村 1 号','','武汉市武昌区','430063');INSERT INTO PERSON.ADDRESS(ADDRESS1,ADDRESS2,CITY,POSTALCODE) VALUES('洪山
区关山春晓 55-1-202','','武汉市洪山区','430073');INSERT INTO PERSON.ADDRESS(ADDRESS1,ADDRESS2,CITY,POSTALCODE) VALUES('洪山
区光谷软件园 C1_501','','武汉市洪山区','430073');commit;

国产数据库-达梦数据库一相关推荐

  1. 安装VMware Workstation Pro以及纯国产的达梦数据库

    安装VMware Workstation Pro以及纯国产的达梦数据库 VMware Workstation Pro以及达梦数据库分别可以在他们各自的官网下载,key的话可以百度一个,达梦数数据库的k ...

  2. 国产数据库-达梦数据库安装

    cd /dm8/script/root [root@ecs-cd8c-0719363 root]# ./dm_service_installer.sh -t dmserver -p DMSERVER ...

  3. 基于Enterprise Library的Winform开发框架实现支持国产达梦数据库的扩展操作

    由于一个客户朋友的需求,需要我的Winform开发框架支持国产达梦数据库的操作,这个数据库很早就听过,但是真正一般项目用的很少,一般在一些特殊的项目可能需要用到.由于我的Winform开发框架,是基于 ...

  4. 学习国产达梦数据库随笔(一)

    以中标麒麟Linux Server 6.0 与 达梦v7.6为例,学习国产软件"达梦数据库"入门(安装.连接.卸载) 一.前期准备 1.1. 规划用户和用户组 1)新建文件夹:mk ...

  5. 国产达梦数据库使用心得

    背景 由于项目上的需要,把项目实现国产化,把底层的oracle数据库替换为国产的达梦数据库,花了一周的时间研究了国产的数据库-达梦数据库,它和oracle数据库很相似,⼤部分操作也很相近,对Oracl ...

  6. 国产数据库--DM(达梦数据库)

    公司简介 武汉华工达梦数据库有限公司(达梦公司)是国家规划布局内重点软件企业.公司成立于2000年11月,得到了国家计委.科技部.信息产业部.总装备部.公安部等中央部委.省市政府的支持扶植. 达梦数据 ...

  7. .net 操作达梦数据库

    一,简介 偶然看到了国产数据库--达梦数据库.顿时起了兴趣,捣鼓了一番. 下面这段简介摘自百度百科 达梦数据库是武汉华工达梦数据库有限公司推出的具有完全自主知识产权的高性能数据库产品.它采用" ...

  8. 达梦数据库角色详解——VTI、SOI

    达梦数据库 达梦学习心得 VTI角色 SOI角色 结论 达梦学习心得 最近接触国产数据库--达梦数据库DM8,这让之前只接触过DM7的我很好奇,期待了解到更多关于这个2019年新发布的版本的新特性.在 ...

  9. 达梦DCA之SpringBoot集成达梦数据库

    受"华为.中兴事件"影响,我国科技尤其是上游核心技术受制于人的现状对我国经济发展.社会稳定等都提出了严峻考验.大力发展科技产业,鼓励科技创新,成为当下时不我待的命题.中美贸易战以来 ...

最新文章

  1. [二叉树]已知后序/中序遍历,求先序遍历
  2. 别让自己变为一个废掉的程序猿
  3. 算法-----三数之和等于0
  4. 批处理start命令学习
  5. Toolbar-5.0新特性
  6. 三种Target Encoding方式总结
  7. Eclipse 中修改android的Default debug keystore 搬家、备份后启动Android PANIC :Could not open D:\java2\android\and
  8. 95-138-010-源码-Function-ReduceFunction
  9. LIRe 源代码分析 6:检索(ImageSearcher)[以颜色布局为例]
  10. 【linux】16进制格式查看命令hexdump
  11. java格式化word文档_Java如何格式化word文档中的文本?
  12. python画立体温度分布图_Origin绘制3D立体温度分布图的方法
  13. java日记 简单Java家庭记账系统
  14. gmail smtp 535 5.7.8无法登陆解决
  15. An Analysis of Scale Invariance in Object Detection – SNIP
  16. codeforces 1520E. Arranging The Sheep(1400)
  17. macbook pro m1 在 EXCEL 中安装 Excel2Latex
  18. 课设:指纹签到系统-支持PC网页端查看
  19. MP4视频文件过大如何压缩?压缩视频的方法是什么?
  20. Tesseract训练新字体

热门文章

  1. P4官方实验3.P4Runtime
  2. 债券和股票有什么区别?债券和股票的区别在哪里?
  3. 机房监控系统的主要功能及监控内容!
  4. 雅克德罗机器人_一款让人欲罢不能的豪表——Jaquet Droz 雅克德罗 Astrale 星辰系列J008334210 男士飞返计时腕表...
  5. 服务器怎么看u盘位置,安装服务器如何修改u盘地址
  6. 使用spire.office在Word中生成表格
  7. [转载]数学各个研究方向简介
  8. 地方税务局专用业务协同办公系统 新版就要出炉了(v2.0)
  9. 华硕笔记本启动项全部丢失解决办法
  10. python内置函数用来返回_Python内置函数