Партнерка на США и Канаду по недвижимости, выплаты в крипто

  • 30% recurring commission
  • Выплаты в USDT
  • Вывод каждую неделю
  • Комиссия до 5 лет за каждого referral

НОМЕР_СЧЕТА

ШИФР_ТОВАРА

КОЛИЧЕСТВО_ЕДИНИЦ

НОМЕР_НАРЯДА

Поскольку в рассматриваемом примере нет ни одного атрибута, характеризующего продаваемые товары, нет нужды заводить такой файл, как ТОВАРНЫЕ_ЗАПАСЫ. Вообще, помимо трех сформированных файлов, включивших все поля из приведенного в начале раздела списка, очевидно, никаких других не требуется. Отметим, что эти три файла находятся в НФБК и, более того, в пятой нормальной форме.

Если бы поля НОМЕР_СЧЕТА и НОМЕР_КЛИЕНТА отсутствовали в первоначальном списке, их в любом случае пришлось бы ввести, чтобы обеспечить с помощью перекрестных ссылок связь между файлами. (Напомним, что с той же целью музыкальный файл ИСПОЛНИТЕЛИ был дополнен полем НОМИСП. Приобретя опыт работы с файлами, можно оценить выигрыш, получаемый от введения дополнительных ссылок типа номера НОМИСП).

Итак, в результате анализа объектов, атрибутов и соотношений между ними определены структуры файлов. Далее необходимо проверить, соблюдаются ли следующие требования:

а) все файлы имеют НФБК (разумеется, предпочтительнее - пятую нормальную форму);

б) соединение сформированных файлов включает все поля, подлежащие хранению.

Если обнаружится, что указанные требования не выполняются, файлы нуждаются в перекомпоновке. Например, могло случиться так, что поле НОМЕР_КЛИЕНТА не было включено в файл ЗАГОЛОВКИ_СЧЕТОВ. В этом случае из соединения трех файлов выпало бы поле ИМЯ_ПОКУПАТЕЛЯ. В подобных ситуациях весь анализ необходимо проводить заново.

3.10.2. ПОСТРОЕНИЕ НАБОРА ФАЙЛОВ ПО ЭМПИРИЧЕСКИМ ДАННЫМ

НЕ нашли? Не то? Что вы ищете?

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

Футбольные состязания. Требуется подобрать выразительные имена файлов и полей этих файлов, которые предполагается использовать для хранения данных, касающихся графика проведения игр, запланированных для клубной футбольной команды г. Бигчестер. Нужно запоминать следующую информацию: дату встречи, название стадиона, где она должна произойти, вместимость стадиона, ожидаемое количество зрителей, а также расстояние от Бигчестера до места, где расположен стадион.

Начнем с определения объектов, которым будут приписаны запоминаемые в файлах атрибуты. Назовем их МАТЧИ (MATCHES) и СТАДИОНЫ (GROUNDS). Для каждого из этих двух объектов заведем отдельный файл со следующими полями:

МАТЧИ {Имя файла)

ДАТА_ВСТРЕЧИ (MATCH DATE)

НАЗВАНИЕ_СТАДИОНА (NAME OF GROUND)

ЗРИТЕЛИ (EXPECTED GROUND ATTENDANCE)

СТАДИОНЫ {Имя файла)

НАЗВАНИЕ_СТАДИОНА (NAME OF GROUND)

РАССТОЯНИЕ_ОТ_БИГЧЕСТЕРА (DISTANCE FROM BIGCHESTER TO THIS GROUND)

ВМЕСТИМОСТЬ (GROUND CAPACITY)

Заметим, что ни одно из неключевых полей файла СТАДИОНЫ не связано функциональной зависимостью с полем НАЗВАНИЕ_СТАДИОНА. И еще одно замечание: если бы вместо двух файлов, МАТЧИ и СТАДИОНЫ, был сформирован лишь один, представляющий соединение МАТЧИ join СТАДИОНЫ, он имел бы третью нормальную форму.

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

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

книги одинаковый ISBN; переиздания той же книги имеют другие шифры ISBN). Одно или большее число отделений библиотеки может располагать несколькими экземплярами книги, а также разными ее переизданиями. Когда книга поступает в библиотеку Бигчестера, ей присваивается отдельный инвентарный номер, посредством которого идентифицируется конкретный экземпляр данного издания. Ни у одной из книг (даже если они находятся в разных хранилищах) инвентарные номера не совпадают - все экземпляры с одинаковыми шифрами ISBN имеют разные инвентарные номера. Каждый экземпляр книги должен иметь своего рода паспорт, включающий такие данные, как название, имена авторов, издание (например, второе), страна и город опубликования, название издательства, дата выхода книги, число страниц, инвентарный номер, номер отделения и номер стеллажа. Номер отделения указывает,

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

Как и в предыдущем случае, начнем с того, что выделим из множества перечисленных данных объекты и относящиеся к ним атрибуты. Кроме того, определим те соотношения, с которыми связаны некоторые из запоминаемых атрибутов, а также те, что будут использоваться при соединении файлов. Анализ показывает, что к числу объектов и соотношений, для которых потребуются отдельные файлы, должны быть отнесены следующие:

АБОНЕНТЫ

КНИГИ

ВЫДАЧА_КНИГ

ПУБЛИКАЦИИ

ОТДЕЛЕНИЯ

{Объект}

{Объект}

{Соотношение}

{Объект (файл каталога)}

{Объект}

Сформировав такой перечень, довольно нетрудно выяснить, какие атрибуты следует приписать каждому объекту или соотношению.

АБОНЕНТЫ

НОМЕР_ЧИТАТЕЛЬСКОГО_БИЛЕТА

ИМЯ_АБОНЕНТА

АДРЕС_АБОНЕНТА

{Имя файла. Ниже приведены имена

его полей}

{Первичный ключ, идентифицирующий

абонента библиотеки}

КНИГИ

ИНВЕНТАРНЫЙ_НОМЕР

ISBN

НОМЕР_ОТДЕЛЕНИЯ

НОМЕР_СТЕЛЛАЖА

{Имя файла. Ниже перечислены имена

его полей}

(Первичный ключ, идентифицирующий

конкретный экземпляр книги}

{Используется для доступа к информации из каталога}

Структура последнего файла несколько упрощена за счет того, что вместо двух полей, НАЗВАНИЕ_ОТДЕЛЕНИЯ и АДРЕС_ОТДЕЛЕНИЯ, в него включено лишь одно – НОМЕР_ОТДЕЛЕНИЯ. Связь между полем НОМЕР_ОТДЕЛЕНИЯ и парой НАЗВАНИЕ-ОТДЕЛЕНИЯ, АДРЕС_ОТДЕЛЕНИЯ устанавливается c помощью дополнительного файла ОТДЕЛЕНИЯ.

ОТДЕЛЕНИЯ

НОМЕР_ОТДЕЛЕНИЯ

НАЗВАНИЕ_ОТДЕЛЕНИЯ

АДРЕС_ОТДЕЛЕНИЯ

{Имя файла. Ниже перечислены имена

его полей}

(Первичный ключ}

Получение книги можно рассматривать как соотношение, связывающее конкретного читателя с конкретной книгой. Атрибутом этого соотношения является ДАТА_ВОЗВРАТА.

ВЫДАЧА_КНИГ {Имя файла. Ниже перечислены имена

его полей}

НОМЕР_ЧИТАТЕЛЬСКОГО_БИЛЕТА {Поле, идентифицирующее абонента

библиотеки}

ИНВЕНТАРНЫЙ_НОМЕР {Поле, идентифицирующее данный экземпляр книги}

ДАТА_ВОЗВРАТА

Первичный ключ этого файла образуют два первых поля. Учитывая, что в библиотеке могут храниться несколько экземпляров книги с одним и тем же шифром ISBN, последний не может служить ключом файла КНИГИ. Такие атрибуты, как

ИМЕНА_АВТОРОВ и НАЗВАНИЕ, функционально зависят от ISBN, и поэтому вместо файла КНИГИ они должны быть включены в файл каталога.

КАТАЛОГ (Имя файла. Ниже перечислены его

поля}

ISBN {Первичный ключ}

НАЗВАНИЕ {Заголовок книги}

ИЗДАНИЕ {Например, второе}

ИМЕНА_АВТОРОВ

НАЗВАНИЕ_ИЗДАТЕЛЬСТВА

ГОРОД

СТРАНА

Этим необходимый набор файлов исчерпывается. Может показаться, что этот набор следовало бы дополнить файлом авторов. Однако для них не имеет смысла заводить отдельный файл, поскольку авторам в данном случае не приписано ни одного атрибута. Еще раз подчеркнем, что файлы нужны только для тех объектов, с которыми связаны подлежащие хранению атрибуты. Примером может служить объект <издательства>. Если бы такие атрибуты, как город и страна опубликования книги, функционально зависели от него (что выполняется далеко не всегда),

можно было бы создать специальный файл издательств.

3.10.3. ПРЕОБРАЗОВАНИЕ НАБОРА ФАЙЛОВ

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

Скачки (пример 1). В этом примере речь идет о скаковых лошадях и их владельцах. Предстоит нормализовать два файла, названия которых соответствуют их содержанию. Первый файл находится по меньшей мере в первой нормальной форме:

ЛОШАДИ (HORSES) {Имя файла. Ниже приведены имена

его полей и часть записей}

НОМЕР_ЛОШАДИ

(HORSE NUMBER)

НЗ

Н5

Н6

КЛИЧКА_ЛОШАДИ

(HORSE NAME)

ТРАНКОЛ

ХОТПОТЕЙТО

СТРОГОУЛД

ЦВЕТ

(COLOUR)

ГНЕДАЯ

ВОРОНАЯ

ГНЕДАЯ

ВЫСОТА

(HEIGHT)

165

170

164

ДАТА_ОЖДЕНИЯ (DATE OF BIRTH)

ВЛАДЕЛЬЦЫ (OWNERS) {Имя файла. Ниже приведены имена

его полей и часть записей}

ИМЯ_ВЛАДЕЛЬЦА

(OWNER NAME)

ЭЙСОН

БИЙСОН

ДЖИЙСОН

АДРЕС

(ADDRESS)

КЛАМБЕРУИК

УИГХЭМСТЕД

ПЛАМХЕЙВН

ПРИНАДЛЕЖАЩИЕ_ЛОШАДИ

(HORSES OWNED)

Н7, Н10, Н18

НЗ, Н8

Н5, Н6, Н9, Н14

Этот файл не имеет первой нормальной формы, поскольку в каждой его записи поле ПРИНАДЛЕЖАЩИЕ_ЛОШАДИ содержится по несколько значений. В рассматриваемом примере только лошади и владельцы являются объектами, атрибуты которых нуждаются в хранении. Следовательно, других файлов, кроме приведенных, не требуется, и для их нормализации нужно лишь несколько изменить состав полей. Если лошадь не может принадлежать более чем одному владельцу (в данный момент), достаточно ввести в оба файла новое поле НОМЕР_ВЛАДЕЛЬЦА

(OWNER NUMBER) и удалить из файла ВЛАДЕЛЬЦЫ поле ПРИНАДЛЕЖАЩИЕ_ЛОШАДИ.

Структура модифицированных файлов такова:

ВЛАДЕЛЬЦЫ

НОМЕР_ВЛАДЕЛЬЦА

ИМЯ_ВЛАДЕЛЬЦА

АДРЕС

ЛОШАДИ

НОМЕР_ЛОШАДИ

КЛИЧКА_ЛОШАДИ

ЦВЕТ

ВЫСОТА

ДАТА_РОЖДЕНИЯ

НОМЕР_ВЛАДЕЛЬЦА

Нормализацию удалось осуществить благодаря тому, что каждая лошадь имеет единственного хозяина, и поэтому в поле НОМЕР, ВЛАДЕЛЬЦА всегда заносится ровно одно значение. В первоначальном варианте соответствие между лошадьми и их владельцами устанавливалось посредством поля ПРИНАДЛЕЖАЩИЕ_ЛОШАДИ. Поскольку любому владельцу может принадлежать несколько лошадей, в это поле приходилось заносить все их номера.

Скачки (пример 2). Дополним предыдущий пример сведениями о жокеях и о тех лошадях, на которых они выступали как минимум в одном состязании. Эта информация помещается в ненормализованном файле ЖОКЕИ (JOCKEYS).

ЖОКЕИ {Имя файла. Ниже приведены имена его полей и

некоторые записи}

НОМЕР_ЖОКЕЯ

(JOCKEY NUMBER)

J2

J4

J5

ИМЯ_ЖОКЕЯ

(JOCKEY NAME)

УИЛСОН

ЭНДРЮС

ХОБСОН

АДРЕС

(ADDRESS)

УИГЛСВИК

ЭЛФР^СТОН

ЭКЛСФИЛД

ЛОШАДЬ_ЖОКЕЯ

(HORSES RIDDEN)

Н4, Н9, Н18

НЗ, Н4

НЗ, Н4, Н9, Н10

В поле ЛОШАДЬ_ЖОКЕЯ может помещаться несколько различных значений, поэтому файл не имеет первой нормальной формы. Два других файла, ЛОШАДИ и ВЛАДЕЛЬЦЫ, нормализованы описанным выше способом.

Если бы на каждой лошади выезжал единственный жокей, для приведения файла ЖОКЕИ к нормальной форме достаточно было бы исключить из него поле ЛОШАДЬ_ЖОКЕЯ и одновременно ввести в файл ЛОШАДИ поле НОМЕР_ЖОКЕЯ. К сожалению, так сделать не удастся, поскольку лошадь может участвовать в скачках с разными жокеями. В данном случае предлагается удалить из файла ЖОКЕИ поле ЛОШАДЬ_ЖОКЕЯ и создать дополнительный файл, назвав его, скажем, ЛОШАДИ_НА_ СКАЧКАХ (HORSE RIDDEN).

ЛОШАДИ_НА_СКАЧКАХ{Имя файла. Ниже приводятся имена

его полей и часть записей}

НОМЕР_ЖОКЕЯ

J2

J2

J2

J4

J4

J5

J5

J5

J5

НОМЕР_ЛОШАДИ

Н4

Н9

Н18

НЗ

Н4

НЗ

Н4

Н9

Н10

Файлы ЛОШАДИ и ВЛАДЕЛЬЦЫ уже приведены к нормальной форме, так что никаких изменений вносить в них не требуется. В итоге получен набор из четырех файлов, причем все они нормализованы.

Остается выяснить, обязательно ли было заводить новый файл

ЛОШАДИ_НА_СКАЧКАХ. Дело в том, что поле ЛОШАДЬ. ЖОКЕЯ исходного файла ЖОКЕИ представляет соотношение между жокеями и лошадьми. Учитывая, что жокеи могут менять лошадей, а лошади - наездников, нельзя обеспечить однозначность этого соотношения в любом из файлов, будь то ЛОШАДИ или ЖОКЕИ. Единственный выход - создать новый файл ЛОШАДИ_НА_СКАЧКАХ, описывающий данное соотношение в нормализованной форме. Подчеркнем объективность полученного результата - четыре файла, ВЛАДЕЛЬЦЫ, ЛОШАДИ, ЖОКЕИ и ЛОШАДИ_НА_СКАЧКАХ - это минимально необходимый набор, позволяющий хранить атрибуты объектов <владельцы>,

<лошади> и <жокеи>, а также соотношения <лошади-жокеи>.

3.11. УПРАЖНЕНИЯ

1. Усложним пример с лошадьми, владельцами и жокеями, разобранный в разд. 3.10.3. Предлагается удалить файл ЛОШАДИ_НА_СКАЧКАХ и вместо него завести другие файлы, в которых хранилась бы следующая информация относительно каждого состязания: дата, время и место проведения скачек, их название (если таковое имеется), кличка лошади, пришедшей первой, имя ее жокея, список лошадей и жокеев, занявших второе и последующие места. Подберите имена, отражающие содержание сформированной системы файлов и их полей.

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

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

3. Четыре практикующих врача-терапевта решили организовать своего рода кооператив. Они завели файлы, в которых занесены имя, пол, дата рождения и домашний адрес каждого их пациента. Всякий раз, когда врач осматривает больного, явившегося к нему на прием, или сам приходит к нему на дом, он записывает дату и место, где проводится осмотр, симптомы, диагноз и предписания больному, проставляет имя пациента, а также свое. Если врач прописывает больному какое-либо лекарство, в файл заносится его название, способ приема, словесное описание предполагаемого действия и возможных побочных эффектов. Подыщите выразительные имена для файлов и полей, содержащих всю перечисленную информацию.

4. В базе данных бигчестерского муниципалитета хранятся имена, адреса, домашние и служебные телефоны всех членов городского совета. Он объединяет порядка сорока комиссий, все участники которых состоят в совете. Каждая комиссия имеет свой профиль - одна, например, занимается вопросами образования, другая решает проблемы, связанные с жильем и т. д. В муниципальной базе данных записаны данные по каждой из комиссий: ее нынешний состав и председатель, прежние председатели и члены этой комиссии, участвовавшие в ее работе за прошедшие 10 лет, даты включения и выхода из состава комиссии, избрания ее председателей. Многие члены совета заседают в нескольких комиссиях. В файлы заносятся время и место проведения каждого заседания комиссии с указанием служащих муниципалитета, которые будут участвовать в его организации. Протокол заседания и список присутствующих на нем членов комиссии пишутся на бумаге и в файлах не хранятся. Предлагается подобрать выразительные имена полей и файлов для базы данных городского совета Бигчестера.

5. Даны три файла. Первый содержит информацию о рейсах пассажирских судов:

НОМЕР-РЕЙСА

(CRUISE NUMBER)

1

2

3

4

5

6

7

8

ДАТА_ОТПЛЫТИЯ

(DEPARTURE DATE)

840407

840412

840529

840529

840603

840630

840630

840719

ЧИСЛО_ПАССАЖИРОВ

(NUMBER OF PASSENGERS)

380

560

830

790

600

780

400

810

Суда, совершающие эти рейсы, перечислены во втором файле, не имеющем первой нормальной формы.

НАЗВАНИЕ-СУДНА

КАСЛ КУИН

СИ ПРИНСЕС

МЭРИ РОУЗ

БРИСТОЛ БЕЛЛ

ВМЕСТИМОСТЬ-СУДНА

820

460

850

630

НОМЕРА_РЕЙСОВ

5, 6

l, 7

3, 8

2, 4

Третий файл также не нормализован. В нем указаны все порты, в которые заходит судно, выполняющее конкретный рейс.

ПОРТ (PORT)

ГИБРАЛТАР

МАРСЕЛЬ

АЛЖИР

АЛЕКСАНДРИЯ

ПАЛЕРМО

АФИНЫ

СТАМБУЛ

ПЛАТА_ЗА_СТОЯНКУ

(HARBOUR CHARGE PER DAY)

100

250

150

150

200

250

150

НОМЕРА_РЕЙСОВ

(CRUISE NUMBERS)

2,3,5,7,8

2, 3, 6

2, 3, 7

1,2,3,5,6

4,6,7,8

1,3,5,8

1, 4, 8

Приведите эти файлы к пятой нормальной форме и выберите подходящие имена для новых файлов и их полей.

6. Фирме <Слиппери фишерз> принадлежит небольшая флотилия рыболовных катеров. Каждый катер имеет <паспорт>, куда занесены его название, тип, водоизмещение и дата постройки. Фирма регистрирует каждый выход на лов, записывая название катера, имена и адреса членов команды с указанием их должностей (капитан, боцман и т. д.), даты выхода и возвращения, а также

вес пойманной рыбы отдельно по сортам (например, трески). За время одного рейса катер может посетить несколько банок. Фиксируется дата прихода на каждую банку и дата отплытия, качество выловленной рыбы (отличное, хорошее, плохое). На борту улов не взвешивается. Подыщите имена полей и файлов, в которых можно было бы хранить всю эту информацию.

7. Фирма <Уиллоби> занимается продажей с аукциона антикварных изделий и произведений искусства. Владельцы вещей, выставляемых на аукционах <Уиллоби>, юридически являются продавцами. Лица, приобретающие эти вещи, именуются покупателями. Получив от продавцов партию предметов, фирма решает, на котором из аукционов выгоднее представить конкретный предмет. Перед проведением очередного аукциона каждой из выставляемых на нем вещей присваивается отдельный номер лота, играющий ту же роль, что и введенный ранее шифр товара. Две вещи, продаваемые на различных аукционах, могут иметь одинаковые номера лотов.

В книгах <Уиллоби> делается запись о каждом аукционе. Там отмечаются дата, место и время его проведения, а также специфика (например, выставляются картины, написанные маслом и не ранее 1900 г.). Заносятся также сведения о каждом продаваемом предмете: аукцион, на который он заявлен, номер лота, продавец, отправная цена и краткое словесное описание. Продавцу разрешается выставлять любое количество вещей, а покупатель имеет право приобретать сколько ему угодно. Одно и то же лицо или фирма может выступать и как продавец, и как покупатель.

После аукциона служащие <Уиллоби> записывают фактическую цену, уплаченную за проданный предмет и фиксируют данные покупателя.

Придумайте имена полей и файлов для базы данных <Уиллоби>, которая позволит фирме усовершенствовать ее дело производство.

8. Владелец магазина граммофонных пластинок пользуется набором файлов, содержащих те же данные, что и музыкальные файлы, описанные в разд. 2.2. Кроме того, у него хранится информация о пластинках, которыми он торгует. Каждая пластинка, а точнее, ее наклейка, идентифицируется отдельным номером, так что всем копиям, отпечатанным с матрицы в разное время, присвоены одинаковые номера. На пластинке может быть записано несколько исполнений одной и той же вещи - для каждого из них в магазине заведена отдельная запись типа содержащихся в музыкальном файле ИСПОЛНЕНИЯ. Когда выходит новая пластинка, регистрируется название выпустившей ее компании (например, ЕМ1), а также адрес оптовой фирмы, у которой магазин может приобрести эту пластинку. Не исключено, что компания-производитель занимается и оптовой продажей своих пластинок. Магазин фиксирует текущие оптовые и розничные цены на каждую пластинку, дату ее выпуска, количество экземпляров, проданных за прошлый год и в нынешнем году, а также число еще не распроданных пластинок.

Попробуйте подобрать имена для полей и файлов, которые могут понадобиться владельцу магазина граммофонных пластинок для хранения нужной ему информации в дополнение к музыкальным файлам из разд. 2.2. Не стоит особенно сосредоточиваться на том, как Модернизировать эти исходные носители данных -

хотелось бы, чтобы изменения в них вносились лишь в случае явной необходимости.

9. Примерно посередине воображаемого великого океана лежит воображаемый остров Санта Белинда. Вот уже триста лет ведется подробная летопись острова. В летопись заносятся и данные обо всех людях, которые хоть какое-то время жили на Санта Белинде. Записываются их имена, пол, даты рождения и смерти. Хранятся там и имена их родителей, если известно, кто они. У некоторых отсутствуют сведения об отце, у некоторых - о матери, а часть людей, судя по записям, - круглые сироты. Из летописи можно узнать, когда был построен каждый дом, стоящий на

острове, а если сейчас его уже нет, то когда он был снесен, точный адрес и подробный план этого дома, кто и когда в нем жил.

Точно так же, как и столетия назад, на Санта Белинде действуют предприниматели, занимающиеся, в частности, ловлей рыбы, заготовкой сахарного тростника и табака. Большинство из них делают все сами, а некоторые нанимают работников, заключая с ними контракты разной продолжительности. Имеются

записи и о том, кто кого нанимал, на какую работу, когда начался и закончился контракт. Собственно, круг занятий жителей Санта Белинды крайне невелик и не меняется веками. Неудивительно поэтому, что в летописи подробно описывается каждое дело, будь то рыбная ловля или выпечка хлеба. Все предприниматели - уроженцы острова. Некоторые объединяются в кооперативы, и по записям можно установить, кто участвовал в деле, когда вступил я когда вышел из него, каким паем владел. Имеются краткие описания деятельности каждого частного предпринимателя или кооператива, сообщающие, в том числе, когда было

начато дело, когда и почему прекращено.

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

10. Фирма <Типико> отказалась от приобретения некоторых товаров у своих поставщиков, решив самостоятельно наладить их производство. С этой целью она организовала сеть специализированных цехов, каждый из которых принимает определенное участие в технологическом процессе. Каждому виду продукции,

выпускаемой <Типико>, присваивается, как обычно, свой шифр товара, под которым он значится в файле товарных запасов. Этот же номер служит и шифром продукта. В записи с этим шифром указывается когда была изготовлена последняя партия этого продукта какова ее стоимость, сколько операций потребовалось.

Операцией считается законченная часть процесса производства которая целиком выполняется силами одного цеха в соответствии с техническими требованиями, перечисленными на отдельном чертеже. Для каждого продукта и для каждой операции в <Типико> заведена запись, содержащая описание операции,

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

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

обсуждаться ниже. Реально затраченное количество материала может не совпадать с потребным, из-за того, например, что часть изготовленной продукции бракуется.

Каждый из цехов располагает многочисленными инструментами и приспособлениями. При выполнении некоторых операций их все же не хватает, и цех вынужден обращаться в центральную инструментальную за недостающими. В <Типико> каждый тип инструмента снабжен отдельным номером и на него заведена запись со словесным описанием. Кроме того, там отмечено, какое количество инструментов этого типа выделено цехам и какое осталось в инструментальной. Экземпляры инструмента конкретного типа, например гаечные ключи одного размера, различаются по своим индивидуальным номерам. На фирме для каждого типа

инструмента имеется запись, содержащая перечень всех индивидуальных номеров. Кроме того, указаны даты их поступления на склад.

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

Наряд на проведение работ по форме напоминает заказ на приобретение товаров, но, в отличие от последнего, он направляется не поставщику, а в один из цехов. Оформляется этот наряд после того, как руководство <Типико> сочтет необходимым выпустить партию некоторого продукта. В наряд заносятся шифр продукта, дата оформления наряда, срок, к которому должен быть выполнен заказ, а также требуемое количество продукта.

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

а. Каковы количества и шифры всех расходуемых материалов, фактически потраченных при выполнении работ по наряду номер 6531?

б. Располагает ли фирма всеми инструментами, необходимыми для выпуска партии продукта номер 421729?

в. Где находится (на складе или в цехе с таким-то номером) каждый инструмент типа 321? В каких операциях и при изготовлении какой продукции он применяется?

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5