本文共 966 字,大约阅读时间需要 3 分钟。
通过题目,详细大家已经非常了解我的目的了。下面我直接介绍需求了。
我想创建一个人员信息表和部门信息表,同时,我们想通过人员信息知道此人的部门信息。我们应该怎样建表呢。 下面我以表格的形式展示咱们数据库的结构。人员信息表
人员id | 姓名 | 性别 | 部门id |
---|---|---|---|
001 | 小红 | 男 | 101 |
002 | 小李 | 女 | 102 |
003 | 小王 | 女 | 103 |
部门信息表
部门id | 部门名称 | 地址 |
---|---|---|
101 | 财务 | |
102 | 行政 | |
103 | 公关 |
下面就是代码的实现了
create table dept--组织表(dept_id int primary key,dept_name nvarchar(20) not null,dept_address nvarchar(100) )create table emp--员工表( --这里的括号不是“{}”emp_id int constraint pk_emp_id primary key,emp_name nvarchar(20) not null, emp_sex nchar(1) not null,dept_id int constraint fk_dept_id foreign key references dept(dept_id))
知识扩展:
以emp表为例: 1、emp字段,为int 类型,主键。constraint pk_emp_id表示给主键约束起了一个名字,在表的列表中可以看出来,这样方便管理。同样外键也可以起别名。 2、nvarchar中的n表示国际化,有n表示支持汉字了,(需要验证,如果没有n是否也支持汉字。会出什么问题) 3、在nvarchar中的var表示变量的意思,char表示字符串类型。20表示最长支持20个字符。那么nvarchar(20)表示支持国际化标准的动态增加的字符串,但是最长仅仅支持20个汉字。 4、有兴趣的可以了解nchar,nvarchar,varchar的区别以及在数据库中的用法。 5、此表中的dept这是将dept的主键作为了emp的外键,外键名字为fk_dept_id。我们通过references来关系另一个表中的字段。 6、create table 定义最后一个字段的时候,就不要写逗号了,这样方便移植到Oracle数据库转载地址:http://uvhbb.baihongyu.com/