我正在建立一个关于某条街道上的汽车的数据库。所以我制作了一张桌子,上面记录了CarId的信息以及汽车经过特定街道的日期。这辆车可以通过街道数百万次,我知道我需要另外制作一张桌子才能保留所有日期,但我很困惑。请帮忙。数据库应该如何显示
答案 0 :(得分:2)
在不知道您正在使用哪个数据库的情况下,我将假设MS SQL Server / SQL Express。以下SQL应满足您的要求
-- Stores details about individual cars
create table Car
(
ID int identity(1,1) primary key,
Registration varchar(10),
Make varchar(20),
Model varchar(50)
-- Add any other fields here
)
go
-- Stores details about each time a "known" car passes by the location
create table Sightings
(
ID int identity(1,1) primary key,
CarID int not null,
constraint Sightings_FK_Car foreign key (CarID) references Car (ID),
SightedAt datetime not null
-- Add any other fields here
)
使用无意义的整数作为表上的主键是个人偏好的问题。您可以使用汽车的注册号作为第一张表上的主键,以及第二张表上的汽车登记和目击时间的组合。出于性能原因,我更喜欢无意义的整数。