数据库建表逻辑详解:用户与角色表设计与触发器
需积分: 10 34 浏览量
更新于2024-09-10
收藏 2KB TXT 举报
本文档主要介绍了在Oracle数据库中创建表的基本逻辑,包括设计表结构、序列生成器以及触发器的使用。我们首先探讨了`SYS_USER`表的设计,它包含以下字段:
1. `idnumber(11)`: 主键,使用整数类型,不允许为空,长度为11位。
2. `LOGINNAME`: 用户名,VARCHAR2类型,长度为20个字符,不能为空。
3. `PASSWORD`: 密码,VARCHAR2类型,长度为20个字符,同样不能为空。
4. `REALNAME`: 真实姓名,VARCHAR2类型,长度为20个字符,不能为空。
5. `ADDRESS`: 地址,VARCHAR2类型,最大长度为200个字符。
6. `TELPHONE`, `MOBILE`, `EMAIL`, `QQ`, 和 `WEB`: 分别代表电话、手机、电子邮件、QQ号和网站,都是VARCHAR2类型,各有特定长度限制。
7. `PAGESTYLE`: 页面风格,VARCHAR2类型,长度为20个字符。
8. `ENABLED`: 表示用户状态,NUMBER类型,3位,可能包含0(禁用)或1(启用)。
9. `ISONLINEnumber`: 表示在线状态,NUMBER类型,3位。
10. `LASTLOGINTIME`, `LASTLOGINIP`, 和 `LASTLOGINTYPE`: 分别表示最后登录时间、IP地址和登录方式,均为VARCHAR2类型。
接着,文档提到为`SYS_USER`表创建了一个名为`seq_sys_user`的序列,设置了最小值为1,最大值为99999999,初始值为1,步长为1,并且设置了nocache选项,以提高性能。此外,还创建了一个触发器`trg_SYS_USER_id`,在插入新行之前自动为`id`字段生成下一个序列值。
类似地,文档中还有`SYS_ROLE`表的定义,包括:
- `idnumber(11)`: 主键,整数类型,不能为空。
- `name`: 角色名称,VARCHAR2类型,长度为50个字符,不能为空。
- `typenumber(3)`: 角色类型,NUMBER类型,3位,不能为空。
- `ENABLED`: 角色状态,与`SYS_USER`表中的`ENABLED`字段类似。
- `DESCRIPT`: 角色描述,VARCHAR2类型,最大长度为500个字符。
`SYS_ROLE`表也拥有一个自增序列`seq_sys_role`,其设置与`seq_sys_user`类似。同时,文档展示了为`SYS_ROLE`表创建的触发器`trg_SYS_ROLE_id`,在插入新角色时自动分配`id`。
总结来说,本篇文档详细解释了如何在Oracle数据库中创建表及其关键字段,使用了序列生成主键,并利用触发器确保主键的唯一性和自动填充。这对于理解和实践Oracle数据库管理至关重要。
2018-09-28 上传
2020-07-17 上传
2023-03-28 上传
2023-03-24 上传
2023-03-24 上传
2023-03-24 上传
2023-03-24 上传
2023-03-24 上传
qq_30681781
- 粉丝: 0
- 资源: 1
最新资源
- WebLogic集群配置与管理实战指南
- AIX5.3上安装Weblogic 9.2详细步骤
- 面向对象编程模拟试题详解与解析
- Flex+FMS2.0中文教程:开发流媒体应用的实践指南
- PID调节深入解析:从入门到精通
- 数字水印技术:保护版权的新防线
- 8位数码管显示24小时制数字电子钟程序设计
- Mhdd免费版详细使用教程:硬盘检测与坏道屏蔽
- 操作系统期末复习指南:进程、线程与系统调用详解
- Cognos8性能优化指南:软件参数与报表设计调优
- Cognos8开发入门:从Transformer到ReportStudio
- Cisco 6509交换机配置全面指南
- C#入门:XML基础教程与实例解析
- Matlab振动分析详解:从单自由度到6自由度模型
- Eclipse JDT中的ASTParser详解与核心类介绍
- Java程序员必备资源网站大全