数据模型
关系模型
重要程度:9 分
<div>
<h2>关系模型</h2>
<p>关系模型是数据库中最常用的数据模型之一,它以表格的形式来组织数据。在关系模型中,数据被组织成多个表,每个表由行和列组成。</p>
<ul>
<li><strong>关系:</strong>在关系模型中,一个关系就是一张二维表。每张表都有一个唯一的名称,并且每一列有一个唯一的列名。</li>
<li><strong>元组:</strong>表中的每一行被称为一个元组,也称为记录。每个元组代表一条数据记录。</li>
<li><strong>属性:</strong>表中的每一列被称为一个属性。每个属性有一个属性名和一个域(属性值的取值范围)。</li>
<li><strong>键:</strong>键是唯一标识表中元组的一个或一组属性。主键是一个表中唯一的标识符,不允许重复和为空。外键是用于建立表之间关联的字段,它可以引用另一个表的主键。</li>
</ul>
<h3>例题说明</h3>
<p>假设有一个学生信息表(Student)和一个课程信息表(Course)。我们需要定义这些表的关系模型。</p>
<table border="1">
<tr>
<th>表名:Student</th>
<th>表名:Course</th>
</tr>
<tr>
<td>
<table border="1">
<tr>
<th>属性名</th>
<th>属性值类型</th>
<th>是否为主键</th>
</tr>
<tr>
<td>Sno</td>
<td>Char(8)</td>
<td>是</td>
</tr>
<tr>
<td>Sname</td>
<td>Varchar(20)</td>
<td>否</td>
</tr>
<tr>
<td>Sage</td>
<td>Integer</td>
<td>否</td>
</tr>
<tr>
<td>Sdept</td>
<td>Varchar(15)</td>
<td>否</td>
</tr>
</table>
</td>
<td>
<table border="1">
<tr>
<th>属性名</th>
<th>属性值类型</th>
<th>是否为主键</th>
</tr>
<tr>
<td>Cno</td>
<td>Char(4)</td>
<td>是</td>
</tr>
<tr>
<td>Cname</td>
<td>Varchar(20)</td>
<td>否</td>
</tr>
<tr>
<td>Credit</td>
<td>Integer</td>
<td>否</td>
</tr>
<tr>
<td>Dept</td>
<td>Varchar(15)</td>
<td>否</td>
</tr>
</table>
</td>
</tr>
</table>
<p>在这个例子中,Student表的Sno和Course表的Cno分别是各自表的主键。为了表示学生选课的关系,我们可以引入一个新的选课表(SC)。</p>
<table border="1">
<tr>
<th>表名:SC</th>
</tr>
<tr>
<td>
<table border="1">
<tr>
<th>属性名</th>
<th>属性值类型</th>
<th>是否为主键</th>
</tr>
<tr>
<td>Sno</td>
<td>Char(8)</td>
<td>是</td>
</tr>
<tr>
<td>Cno</td>
<td>Char(4)</td>
<td>是</td>
</tr>
<tr>
<td>Grade</td>
<td>Integer</td>
<td>否</td>
</tr>
</table>
</td>
</tr>
</table>
<p>SC表中的Sno和Cno共同构成了复合主键,用来表示一个学生选了一门课程。</p>
</div>