当前位置: 首页 > wzjs >正文

高青网站建设sem是做什么的

高青网站建设,sem是做什么的,新民企业自助建站,山东建设厅官方网站作者:IvanCodes 日期:2025年6月10日 专栏:Oracle教程 这次我们将深入学习如何管理数据库对象的核心——表空间 (Tablespace) 和 表 (Table)。理解如何创建、修改和删除这些对象,是进行有效数据存储和管理的基础。 一、表空间 (Tab…

作者:IvanCodes
日期:2025年6月10日
专栏:Oracle教程

这次我们将深入学习如何管理数据库对象的核心——表空间 (Tablespace)表 (Table)。理解如何创建、修改和删除这些对象,是进行有效数据存储和管理基础

在这里插入图片描述
在这里插入图片描述

一、表空间 (Tablespace):数据的逻辑容器

1.1 什么是表空间?
表空间是Oracle数据库中一个重要的逻辑存储结构。它将数据库的物理存储 (即数据文件) 与逻辑对象 (如表、索引) 分离开来。你可以把它想象成一个逻辑上的“文件夹”或“磁盘分区”,数据库对象 (如表) 创建时会被指定存储某个表空间中。

1.2 表空间的作用:

  • 组织数据:可以将相关的数据库对象组织在同一个表空间中,便于管理。
  • 控制磁盘空间分配:可以为不同的表空间分配不同的物理数据文件,从而控制大小和增长
  • 备份与恢复:表空间是备份和恢复基本单位之一,可以对单个表空间进行联机或脱机操作。
  • 性能优化:可以将I/O密集型的对象分布在不同物理磁盘上的不同表空间中,改善性能

1.3 创建表空间 (CREATE TABLESPACE)

基本语法格式:

CREATE TABLESPACE tablespace_name
DATAFILE 'datafile_path_and_name' SIZE initial_size
[AUTOEXTEND ON [NEXT increment_size [MAXSIZE max_size | UNLIMITED]]]
[EXTENT MANAGEMENT LOCAL [AUTOALLOCATE | UNIFORM SIZE uniform_extent_size]]
[SEGMENT SPACE MANAGEMENT AUTO | MANUAL];

代码案例:创建一个名为 app_data_ts 的表空间

CREATE TABLESPACE app_data_ts
DATAFILE '/u01/app/oracle/oradata/ORCL/app_data01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 50M MAXSIZE 500M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;

(路径 /u01/app/oracle/oradata/ORCL/ 请根据实际环境替换)

1.4 修改表空间 (ALTER TABLESPACE)
代码案例:为 app_data_ts 表空间添加数据文件

ALTER TABLESPACE app_data_ts
ADD DATAFILE '/u01/app/oracle/oradata/ORCL/app_data02.dbf' SIZE 50M;

代码案例:修改 app_data01.dbf 数据文件大小

ALTER DATABASE DATAFILE '/u01/app/oracle/oradata/ORCL/app_data01.dbf' RESIZE 200M;

代码案例:设置表空间脱机/联机

ALTER TABLESPACE app_data_ts OFFLINE;
ALTER TABLESPACE app_data_ts ONLINE;

1.5 删除表空间 (DROP TABLESPACE)
语法格式:

DROP TABLESPACE tablespace_name
[INCLUDING CONTENTS [AND DATAFILES]]
[CASCADE CONSTRAINTS];

代码案例:删除 app_data_ts (假设为空)

DROP TABLESPACE app_data_ts;

代码案例:删除 app_data_ts 及其内容和物理文件

DROP TABLESPACE app_data_ts INCLUDING CONTENTS AND DATAFILES;

二、表 (Table):结构化数据的核心

2.1 创建表 (CREATE TABLE)

基本语法格式:

CREATE TABLE [schema_name.]table_name (
column_name1 datatype [DEFAULT default_value] [column_constraint1 ...],
column_name2 datatype [DEFAULT default_value] [column_constraint2 ...],
...
[table_constraint1, ...]
)
[TABLESPACE tablespace_name]
[storage_clauses ...];

代码案例:创建一个 products

CREATE TABLE products (
product_id NUMBER(10) CONSTRAINT pk_product PRIMARY KEY,
product_name VARCHAR2(100) CONSTRAINT nn_product_name NOT NULL,
category_id NUMBER(5),
unit_price NUMBER(8,2) CONSTRAINT ck_product_price CHECK (unit_price >= 0),
supplier_id NUMBER(10),
entry_date DATE DEFAULT SYSDATE,
CONSTRAINT uq_product_name UNIQUE (product_name)
)
TABLESPACE app_data_ts;

2.2 修改表 (ALTER TABLE)
常见操作:

  • 添加列
ALTER TABLE products
ADD (stock_quantity NUMBER(5) DEFAULT 0);
  • 修改列定义
ALTER TABLE products
MODIFY (product_name VARCHAR2(150));
  • 删除列
ALTER TABLE products
DROP COLUMN supplier_id;
  • 重命名列
ALTER TABLE products
RENAME COLUMN entry_date TO creation_date;
  • 添加/删除约束
-- 添加外键 (假设 categories 表和 category_id 主键已存在)
ALTER TABLE products
ADD CONSTRAINT fk_product_category FOREIGN KEY (category_id) REFERENCES categories(category_id);-- 删除唯一约束
ALTER TABLE products
DROP CONSTRAINT uq_product_name;
  • 重命名表
RENAME products TO items_inventory;

2.3 删除表 (DROP TABLE)
语法格式:

DROP TABLE [schema_name.]table_name [CASCADE CONSTRAINTS] [PURGE];

代码案例:删除 items_inventory

DROP TABLE items_inventory CASCADE CONSTRAINTS;

2.4 清空表 (TRUNCATE TABLE)
语法格式:

TRUNCATE TABLE [schema_name.]table_name [DROP STORAGE | REUSE STORAGE];

代码案例:清空 items_inventory 表 (假设已重命名回来或重新创建了products)

TRUNCATE TABLE products;

本章小结:
本章我们重点学习了Oracle中表空间管理操作。掌握这些DDL语句构建和维护数据库逻辑结构核心技能


练习题 (共10道)

  1. 创建表空间:编写SQL语句创建一个名为 user_data_ts 的表空间,数据文件为 /u02/oradata/DBNAME/user_data01.dbf (替换DBNAME),初始大小50M,允许自动扩展,每次10M,最大200M。区管理本地自动分配,段空间自动管理。
  2. 创建用户表:在 user_data_ts 表空间中创建一张名为 app_users 的表,包含列:user_id (NUMBER(8), 主键, 约束名 pk_appuser), username (VARCHAR2(50), 唯一, 非空, 约束名 uq_appuser_uname, nn_appuser_uname), email (VARCHAR2(100), 唯一, 约束名 uq_appuser_email), registration_date (DATE, 默认系统当前日期)。
  3. 添加数据文件到表空间:为 user_data_ts 表空间添加一个新的数据文件 /u02/oradata/DBNAME/user_data02.dbf,大小20M。
  4. 修改表 - 添加列:为 app_users 表添加一个新列 last_login_ip (VARCHAR2(15))。
  5. 修改表 - 修改列类型:将 app_users 表的 email 列长度修改为120个字符。
  6. 修改表 - 添加CHECK约束:为 app_users 表添加一个名为 ck_appuser_username_len 的检查约束,确保 username 的长度至少为3个字符。
  7. 修改表 - 重命名列:将 app_users 表的 registration_date 列重命名为 join_date
  8. 删除约束:删除 app_users 表上的唯一约束 uq_appuser_email
  9. 删除表并保留回收站:写出删除 app_users 表的SQL语句,确保它进入回收站 (如果回收站功能开启)。
  10. 彻底删除表空间:写出彻底删除 user_data_ts 表空间及其所有内容和物理数据文件的SQL语句 (假设里面可能还有其他对象)。

答案与解析:

  1. 创建表空间解析:
CREATE TABLESPACE user_data_ts
DATAFILE '/u02/oradata/DBNAME/user_data01.dbf' SIZE 50M
AUTOEXTEND ON NEXT 10M MAXSIZE 200M
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;

解析:创建了指定大小、自动扩展参数、区及段管理方式的表空间。

  1. 创建用户表解析:
CREATE TABLE app_users (
user_id NUMBER(8) CONSTRAINT pk_appuser PRIMARY KEY,
username VARCHAR2(50) CONSTRAINT uq_appuser_uname UNIQUE CONSTRAINT nn_appuser_uname NOT NULL,
email VARCHAR2(100) CONSTRAINT uq_appuser_email UNIQUE,
registration_date DATE DEFAULT SYSDATE
)
TABLESPACE user_data_ts;

解析:定义了各列的数据类型和约束,包括主键、唯一、非空和默认值,并指定了表空间。

  1. 添加数据文件到表空间解析:
ALTER TABLESPACE user_data_ts
ADD DATAFILE '/u02/oradata/DBNAME/user_data02.dbf' SIZE 20M;

解析:为现有表空间增加了物理存储容量。

  1. 修改表 - 添加列解析:
ALTER TABLE app_users
ADD (last_login_ip VARCHAR2(15));

解析:向表中添加了一个新的属性列。

  1. 修改表 - 修改列类型解析:
ALTER TABLE app_users
MODIFY (email VARCHAR2(120));

解析:修改了email列的最大长度,允许存储更长的邮箱地址。

  1. 修改表 - 添加CHECK约束解析:
ALTER TABLE app_users
ADD CONSTRAINT ck_appuser_username_len CHECK (LENGTH(username) >= 3);

解析:增加了对username字段长度的业务规则校验。

  1. 修改表 - 重命名列解析:
ALTER TABLE app_users
RENAME COLUMN registration_date TO join_date;

解析:更改了列的名称,使其更符合业务语义。

  1. 删除约束解析:
ALTER TABLE app_users
DROP CONSTRAINT uq_appuser_email;

解析:移除了对email列的唯一性要求。

  1. 删除表并保留回收站解析:
DROP TABLE app_users;

解析:默认情况下 (如果回收站开启且未指定PURGE),DROP TABLE 会将表放入回收站。

  1. 彻底删除表空间解析:
DROP TABLESPACE user_data_ts INCLUDING CONTENTS AND DATAFILES;

解析:此命令会删除表空间、其中所有对象段以及操作系统层面的物理数据文件,操作不可逆,需谨慎。

http://www.dtcms.com/wzjs/112812.html

相关文章:

  • 做网站哪些关键词排名监控批量查询
  • 宣传网站怎么做站长统计是什么意思
  • 广东省住建厅官方网站关键词优化上海
  • 网站内容全屏截屏怎么做深圳网络推广培训学校
  • 长春企业网站设计友情链接平台广告
  • 自己给公司做网站难不难免费网页制作网站
  • 百度商桥可以在两个网站放seo优化软件有哪些
  • 全媒体门户网站建设百度seo点击工具
  • wordpress政府网站stp营销战略
  • 运动 网站专题怎么做淘宝代运营公司
  • 网站建设策划方案书交换友情链接的目的
  • 成都网站开发优化公司治理结构
  • 网站开发技术 java网络营销活动策划方案
  • 理卖做各视频网站的会员什么是推广
  • 中国建设安全协会网站品牌网络推广方案
  • 做盗链网站注册公司网站
  • 陕西网站建设优化技术搜索引擎优化的英文
  • 静态网站开发工具网络营销的基本特征
  • 大连建设监察执法网站湖南专业关键词优化服务水平
  • 网站开发的设计与实现网站优化seo方案
  • 如何策划一个营销方案sem推广和seo的区别
  • 西安那里做网站百度搜索的优势
  • 网站建设 联系我们百度seo关键词排名查询工具
  • 网站域名如何更换万网官网登录
  • 厦门 公司网站建设房地产估价师考试
  • 山东网站设计公司免费大数据平台
  • 上海高端做网站专门发广告的app
  • 自定义wordpress的字体seo标题优化的方法
  • 简单的购物网站怎么做系统优化app
  • 论坛做网站好吗怎么制作自己的网站