Создание облачного приложения для удаленного покадрового видео с узла с низким ресурсом

С первого взгляда. , .

custName -> custNo
model -> make
outletLoc -> outletNo
carReg, custNo -> hireDate
carReg, custName -> hireDate

И я уверен, что есть другие. Примеры данных не являются репрезентативными, и это проблема, когда вы пытаетесь определить функциональные зависимости от данных. Скажем, ваши образцы данных имели только одну строку.

carReg    hireDate make  model  custNo  custName  outletNo  outletLoc
--
MS34 0GD  14/5/03  Ford  Focus  C100    Smith, J  01        Bearsden

FDs ответили на вопрос: «Учитывая одно значение для« x », знаю ли я одно и только одно значение для« y »?» Основываясь на этом наборе данных с одной строкой, каждый атрибут определяет каждый другой атрибут. custNo определяет аренду. rentDate определяет outletLoc. custName определяет модель.

Когда выборочные данные не являются репрезентативными, легко включить недопустимые FD. Вам нужны более репрезентативные образцы данных для отсечения некоторых недействительных функциональных зависимостей.

custName -> custNo isn't valid ('C101', 'Hen, P')
carReg, custNo -> hireDate isn't valid ('MS34 0GD', 'C100', '15/7/04')
carReg, custName -> hireDate isn't valid ('MS34 0GD', 'Hen, P', '15/8/03')

Вы можете исследовать функциональные зависимости в образцах данных с помощью SQL.

create table reg (
  CarReg char(8) not null,
  hireDate date not null,
  Make varchar(10) not null,
  model varchar(10) not null,
  custNo char(4) not null,
  custName varchar(10) not null,
  outletNo char(2) not null,
  outletLoc varchar(15) not null
);

insert into reg values
('MS34 OGD', '2003-05-14', 'Ford', 'Focus', 'C100', 'Smith, J', '01', 'Bearsden'),
('MS34 OGD', '2003-05-15', 'Ford', 'Focus', 'C201', 'Hen, P', '01', 'Bearsden'),
('NS34 TPR', '2003-05-16', 'Nissan', 'Sunny', 'C100', 'Smith, J', '01', 'Bearsden'),
('MH34 BRP', '2003-05-14', 'Ford', 'Ka', 'C313', 'Blatt, O', '02', 'Kelvinbridge'),
('MH34 BRP', '2003-05-20', 'Ford', 'Ka', 'C100', 'Smith, J', '02', 'Kelvinbridge'),
('MD51 OPQ', '2003-05-20', 'Nissan', 'Sunny', 'C295', 'Pen, T', '02', 'Kelvinbridge');

Определяет ли модель?

select distinct model 
from reg
order by model;

model
--
Focus
Ka
Sunny

Три разных модели , , .

select model, make
from reg
group by model, make
order by model;

model   make
--
Focus   Ford
Ka      Ford
Sunny   Nissan

Yup. Для каждой модели нужно сделать один.

Использует carReg, custName -> hireDate?

select distinct carReg, custName
from reg
order by custName;

carReg
--
MH34 BRP  Blatt, O
MS34 OGD  Hen, P
MD51 OPQ  Pen, T
MS34 OGD  Smith, J
NS34 TPR  Smith, J
MH34 BRP  Smith, J

Шесть различных комбинаций carReg и custName.

select carReg, custName, hireDate
from reg
group by carReg, custName, hireDate
order by custName;

carReg  custName  hireDate
--
MH34 BRP  Blatt, O  2003-05-14
MS34 OGD  Hen, P    2003-05-15
MD51 OPQ  Pen, T    2003-05-20
MH34 BRP  Smith, J  2003-05-20
NS34 TPR  Smith, J  2003-05-16
MS34 OGD  Smith, J  2003-05-14
]

Yup. Один найм для каждой комбинации carReg и custName. Поэтому на основе данных выборки {carReg, custName} -> hireDate.

0
задан crj11 28 February 2019 в 21:55
поделиться