(2)数据库Relational Model
Concept of Relation
Attribute
Each attribute of a relation has a name
The set of allowed values for each attribute is called the domain of the attribute
Attribute values are required atomic(indivisible)
The special value null is a member of every domain
(null可以参与运算,运算结果仍然是null)
R->Schema
r->relation
table attribute下的数据叫做tuples
Key
Let key is a subset of schema
K is a superkey if values for K are sufficient to identify a unique tuple
K is a candidate key if K is minimal(最短的)
Primary key:
A candidate key chosen as the principal means of identifying tuples within a relation
If you do not define a PRIMARY KEY for your table, MySQL picks the first UNIQUE index that has only NOT NULL columns as the primary key and InnoDB uses it as the clustered index. If there is no such index in the table, InnoDB internally generates a clustered index where the rows are ordered by the row ID that InnoDB assigns to the rows in such a table. The row ID is a 6-byte field that increases monotonically as new rows are inserted. Thus, the rows ordered by the row ID are physically in insertion order.
Relational Algebra
Six basic operators:
select
project(投影)
union(并)
set difference(差)
Cartesian product(乘)
rename
Additional relation algebra
Notation(交集)
Natural Join(自然连接)
Division(除)
Assignment(赋值)
Extended Relational Algebra Operations
Generalled Projection
Aggregate Functions
Outer Join