如何在数据库中创建表

时间:2014-08-01 09:51:39

标签: sql-server database database-design

我正在建立一个关于某条街道上的汽车的数据库。所以我制作了一张桌子,上面记录了CarId的信息以及汽车经过特定街道的日期。这辆车可以通过街道数百万次,我知道我需要另外制作一张桌子才能保留所有日期,但我很困惑。请帮忙。数据库应该如何显示

1 个答案:

答案 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
)

使用无意义的整数作为表上的主键是个人偏好的问题。您可以使用汽车的注册号作为第一张表上的主键,以及第二张表上的汽车登记和目击时间的组合。出于性能原因,我更喜欢无意义的整数。