MySQL数据库设计:用户表与账单表创建教程
需积分: 0 47 浏览量
更新于2024-08-03
收藏 5KB TXT 举报
本文档是关于数据库管理操作的SQL脚本,主要关注MySQL数据库的创建、表结构设计和外键关联。在`accounting.TXT`文件中,我们看到两个关键步骤:
1. **创建数据库与字符集设置**:
首先,创建了一个名为`mydb`的新数据库,并设置了默认字符集为`utf8mb4`和排序规则为`utf8mb4_general_ci`。这确保了数据库的兼容性和多字节字符的支持。
2. **用户表设计**:
`user`表用于存储用户信息,包括:
- `Uid`: 自增主键,表示用户序号;
- `Username`: 用户名,不允许为空;
- `Userpassword`: 密码,同样不能为空;
- `Uname`: 姓名;
- `Usex`: 性别枚举类型(male, female, other),默认为'other';
- `Ubirthday`: 用户的出生日期;
- `Uphone`: 用户电话号码;
- `Upermissions`: 权限字段,0表示普通用户,1表示管理员,初始值为0;
- `Uicon`: 头像链接或路径。
3. **账单表设计**:
`bill`表用来记录账单信息,包含:
- `Bid`: 自增主键,表示账单序号;
- `Cname`: 分类名称,可为NULL;
- `Cincome`: 收支类型,同样可为NULL;
- `Atable`: 账户,可能是与用户表关联的外键;
- `Bamount`: 金额,用`DECIMAL(10,2)`数据类型表示;
- `BtIme`: 时间戳,用于记录交易时间;
- `Bremark`: 备注,允许为空;
- `account_id` 和 `class_id`:外键,分别与`user`表和一个假设的`class`表关联。
4. **外键约束**:
在`bill`表中,`account_id`列被定义为外键,它引用了`user`表的`Uid`,表示每个账单都关联到一个用户。同样,`class_id`列可能是另一个表的外键,但文档中没有提供具体的表名。
这个脚本提供了基础的数据库结构设计,适用于跟踪用户信息和账单数据,适合于金融或个人财务管理应用。通过这个脚本,可以了解如何在MySQL中创建表,定义字段类型和关系,以及设置外键约束来维护数据完整性。
114 浏览量
445 浏览量
点击了解资源详情
2011-08-09 上传
2012-12-13 上传
566 浏览量
206 浏览量
2021-10-15 上传
1474 浏览量
m0_71969801
- 粉丝: 0
- 资源: 1
最新资源
- 《精通javascript+jQuery》英文版
- IPv6 Advanced Protocols Implementation
- 线性代数必须熟记的结论
- Java Annotation
- A novel MC-2D-CDMA communication systems and its detection methods
- 一种基于OpenGL的渐开线齿轮三维几何模型构建方法
- java jsp 标签库 JSTL_core.pdf
- java分布式应用开发技术概述
- 星型数据库设计说明文档
- flash经典20问及解答
- 注册表的作用和意义.doc
- 最全的PROTEUS 教程.pdf
- 最全的PROTEUS 教程.pdf
- 网络课程ENBM题库
- 使用Qt和OpenGL创建跨平台可视化UI
- Qt 嵌入式图形开发(实战篇)