0

次の表があり、主キー、スーパーキー、候補キーを取得する方法を知りたいと思いました。

候補キーがスーパーキーの最小値であることを私は知っています。

これは正しい主キーPlaceId CountyId、候補キーPlaceId, CountyId, Date、スーパーキーPlaceId, CountyId, Date, Attendeesでしょうか?

CREATE TABLE IF NOT EXISTS `visits` (
  `PlaceId` varchar(45) DEFAULT NULL,
  `CountyId` varchar(45) DEFAULT NULL,
  `Date` date NOT NULL,
  `Attendees` varchar(45) DEFAULT NULL,

INSERT INTO `visits` (`PlaceId`, `CountyId`, `Date`, `Attendees`) VALUES
('Bangor', 'Gwynedd', '2012-05-03', '34'),
('Bangor', 'Gwynedd', '2012-05-04', '24'),
('Rhyl', 'Denbighshire', '2012-05-06', '14');
4

1 に答える 1

1

提供されたサンプルデータと、場所日付、および出席者の意味についての私の理解に基づいて、唯一の候補キーは{PlaceId、CountyId、Date}です。

候補キーは1つしかないため、その候補キーは主キーでもある必要があります。

すべての属性のセットは簡単なスーパーキーです。したがって、1つのスーパーキーは{PlaceId、CountyId、Date、Attendees}です。もう1つは{PlaceId、CountyId、Date}です。

于 2012-05-14T14:51:57.063 に答える