| 
			
		 | 
	
		
			
		
		
  Открываем Access, создаем новую пустую базу данных.  
 
После этого выбираем команду "Создать таблицу"  
 
Начинаем с таблицы "Физические лица" .  
   
  
 
 
    
     
      | Наименование данных | Тип данных | Примечание |  Тип данных Access  |  
     
      | Серия паспорта | Строка | Серия паспорта состоит из двух букв | Текстовый, 
           
         Длина поля - 2, 
           
         Обязательное - Да 
           
         Пустые строки - Нет 
           
         Индексированное - Да, допускаются совпадения |  
     
      | Номер паспорта | Число | Номер паспорта - целое число | Числовой, 
           
         Длинное целое, 
           
         Число десятичных знаков - 0, 
           
         Маска ввода - 000000, 
           
         Обязательное - Да, 
           
         Индексированное - Да, допускаются совпадения |  
     
      | ИНН | Число | Обязательно для идентификации, число.  
           
         Внимание! Для реальной базы данных так делать нельзя, потому что человек может отказаться от получения ИНН по религиозным соображениям и ИНН у него может отсутствовать. Мы же для простоты считаем, что у каждого человека есть свой уникальный ИНН 
           
          | Числовой, 
           
         Длинное целое, 
           
         Число десятичных знаков - 0, 
           
         Маска ввода - 0000000000 
           
         Обязательное - Да, 
           
         Индексированное - Да, совпадения не допускаются, 
           
         Ключевое 
           
          |  
     
      | Адрес прописки | Строка | Адрес прописки будет нужен для оформления юридических действий | Текстовое, 
           
         Размер поля - 255 |  
     
      | Адрес проживания | Строка | Этот адрес будет нужен для связи с клиентом, направления ему писем | Текстовое, 
           
         Размер поля - 255 |  
     
      | Контактный телефон | Строка | Потребуется для быстрой связи с клиентом. Тип данных - могло быть и число, но для простоты учебного примера - пусть будет строка | Текстовое, 
           
         Размер поля - 16 |  
     
    
 
 
 
   
  
 
Перед созданием таблицы "Юридические лица" необходимо создать служебную таблицу "Формы собственности" 
 
 
   
 
    
     
      |  Наименование  |  Тип данных  |  Комментарий  |  Тип данных Access  |  
     
      | ID |  | Этот идентификатор необходим для дальнейшего создания связи с таблицей "Юридические лица" | Тип данных - Счетчик, 
           
         Длинное целое, 
           
         Последовательный,  
           
         Индексированное - Да, совпадения не допускаются |  
     
      | Форма собственности |  | Это - текстовое название формы собственности |  Текстовое, 
           
         Размер поля - 255  |  
     
    
 
 
 
   
  
 
 Создаем таблицу "Юридические лица" 
   
  
 
  
 
 
   
  
 
 
   
    | Наименование | Тип данных | Комментарий | Тип данных Access |  
   
    | Наименование юр.лица | Строка | Наименование - обязательный параметр, однако, встречаются организации с одинаковыми названиями | Текстовое, 
         
       Размер поля - 255 |  
   
    | Код | Число | Код организации однозначно ее идентифицирует | Числовой, 
         
       Длинное целое, 
         
       Число десятичных знаков - 0, 
         
       Обязательное поле - Да, 
         
       Индексированное - Да, совпадения не допускаются, 
         
       Ключевое |  
   
    | Форма собственности |  | Виды форм собственности определяются законодательством. Но справочник форм собственности у нас уже создан и вместо указания самой формы собственности мы будем использовать ссылку на нее. Поэтому укажем тип поля - как числовое, длинное целое. | Числовой, 
         
       Длинное целое, 
         
       Обязательное - Да, 
         
       Индексированное - Да, совпадения допускаются |  
   
    | Юридический адрес | Строка | Адрес, по которому зарегистрировано юр. лицо |  Текстовое, 
         
       Размер поля - 255  |  
   
    | Адрес для переписки | Строка | Адрес, по которому следует направлять почтовую корреспонденцию. Часто, это - разные адреса |  Текстовое, 
         
       Размер поля - 255  |  
   
    | Телефон | Строка | Контактный телефон приемной, можно задать числом, но мы зададим строкой для простоты примера |  Текстовое, 
         
       Размер поля - 16  |  
   
    | Директор |  | Поскольку таблица физических лиц уже есть, то мы вместо указания директора, будем хранить ссылку на таблицу физических лиц.  Поэтому укажем тип поля - как числовое, длинное целое.  |  Числовой, 
         
       Длинное целое, 
         
       Обязательное - Да, 
         
       Индексированное - Да, совпадения допускаются  |  
   
    | Главный бухгалтер |  |  Поскольку таблица физических лиц уже есть, то мы вместо указания директора, будем хранить ссылку на таблицу физических лиц.  Поэтому укажем тип поля - как числовое, длинное целое.  |  Числовой, 
         
       Длинное целое, 
         
       Обязательное - Нет,   
         
       Индексированное - Да, совпадения допускаются  |  
   
  
 
 
   
  
 
  
 
Создаем таблицу "Условия депозитов" 
   
  
 
 
    
     
      | Наименование данных | Тип данных | Комментарий |  Тип данных Access  |  
     
      | Код |  | По данному полю мы будем идентифицировать тип депозита | Счетчик, 
           
         Длинное целое, 
           
         Новые значения - последовательные, 
           
         Индексируемое - Да, совпадения не допускаются |  
     
      | Срок начала действия условий депозита | Дата | Дата начала срока действия условий нужна для того, чтобы не иметь возможности открыть депозит раньше времени | Дата/Время 
           
         Обязательное - Да |  
     
      | Срок окончания действия условий депозита | Дата | Возможна ситуация, когда депозиты по старым условиям еще лежат в банке, но новые вклады на данных условиях уже не принимаются. Значение окончания действия также может отсутствовать, если предложение действует в данный момент |  Дата/Время 
           
         Обязательное - Нет |  
     
      | Условия действительны для физических лиц | Логический | Предполагается информация да/нет | Логический 
           
         Формат поля - Да/Нет |  
     
      | Условия действительны для юридических лиц | Логический | Предполагается информация да/нет |  Логический 
           
         Формат поля - Да/Нет  |  
     
      | Минимальная сумма депозита | Число |  | Денежный |  
     
      | Минимальный срок размещения (дней) | Число | Без указания срока размещения договор депозита смысла не имеет | Целое, 
           
         Значение по умолчанию - 30, 
           
         Обязательное - Да |  
     
      | Процентная ставка | Число |  | Одинарное с плавающей точкой |  
     
      | Условия выплаты процентов | Перечисление | Можно было бы создать отдельный справочник с условиями видов начисления процентов, но для простоты примера мы принимаем следующее: 
           
         0 - ежемесячное начисление по концу месяца на отдельный счет 
           
         1 -   начисление по концу месяца на тот же самый счет 
           
         2 - начисление процентов в конце срока на тот же самый счет | Целое, 
           
         Значение по умолчанию - 0, 
           
         Обязательное - Да |  
     
      | Возможно ли пополнение депозита | Логический |  |  Логический 
           
         Формат поля - Да/Нет  |  
     
      | Допускается ли досрочное снятие | Логический | Досрочное снятие - это, фактически, разрыв условий договора, поэтому, как правило, при выплате процентов на вклад начисляются проценты по ставке, иной, чем изначально оговоренная |  Логический 
           
         Формат поля - Да/Нет  |  
     
      | Процентная ставка при досрочном снятии | Число |  |  Одинарное с плавающей точкой  |  
     
    
 
 
  
 
Создаем таблицу "Договоры" 
   
  
 
 
    
     
      | Наименование | Тип данных | Примечание |  Тип данных Access  |  
     
      | Код |  | Для идентификации можно, конечно, использовать и номер договора. Но, поскольку, строка не удобна для создания связей между таблицами и, потенциально, будет замедлять быстродействие, создание дополнительного поля оправдано | Счетчик, 
           
         Длинное целое, 
           
         Новые значения - последовательные, 
           
         Индексированное - Да, совпадения не допускаются |  
     
      | Дата заключения | Дата |  | Дата/Время, 
           
         Значение по умолчанию =Date(), 
           
         Обязательное - Да |  
     
      | Номер | Строка | Договор может быть пронумерован, например, как 1/3-55, поэтому тип данных - строка | Текстовый, 
           
         Размер поля - 32 |  
     
      | Дата окончания | Дата | Считаем, что все договоры имеют дату окончания и не пролонгируются | Дата/Время  |  
     
      | Договор с юр или физ лицом? | Логический | Далее у нас две ссылки, и лишь одна из них будет задействована. Поэтому данное поле, фактически, является переключателем, с кем у нас заключен договор и на какую таблицу искать ссылку (физ или юр) |  |  
     
      | Договор с юр лицом |  
           
          | Ссылка на юридическое лицо | Числовой, 
           
         Длинное целое, 
           
         Индексированное - Да, допускаются совпадения |  
     
      | Договор с физ лицом  |  | Ссылка на физическое лицо |  Числовой, 
           
         Длинное целое, 
           
         Индексированное - Да, допускаются совпадения  |  
     
    
 
 
Создаем таблицу "Счета" 
   
  
 
 
    
     
      | Наименование | Тип данных | Примечание |  Тип данных Access  |  
     
      | Группа счета | Число | Согласно утвержденному плану счетов банков в Украине это должна быть цифра "26" всегда. Поэтому редактирование поля мы не предумотрим | Тип данных - Целое, 
           
         Значение по умолчанию - 26 |  
     
      | Подгруппа счета | Число | "10", если это - краткосрочный депозит юр. лица 
           
         "15", если это - долгосрочный депозит юр. лица 
           
         "30", если это - краткосрочный депозит физ. лица 
           
         "35", если это - долгосрочный депозит физ. лица | Тип данных - Целое |  
     
      | Подномер счета | Число | Остальные 10 цифр, которые формируют номер счета 
           
         Счетчик определит нам сквозную нумерацию, которая не зависит от группы и подгруппы счета. Это не совсем правильно. Мы должны нумеровать счета независимо. Но, поскольку пример учебный - мы сделали так для простоты. 
           
          | Счетчик, 
           
         Новые значения - Последовательные, 
           
         Ключевое |  
     
      | Номер счета |  | В номере счета 14 цифр, поэтому, чтобы получить счет вида 
           
         2615... нам необходимо обеспечить сдвиг по регистрам на соответствующее число разрядов | Вычисляемое, 
           
         Формула: 
           
         [Группа счета]*1000000000000 + [Подгруппа счета]*10000000000 + [Подномер счета] |  
     
      | Дата открытия | Дата | Счет должен обязательно иметь дату открытия |  Дата/Время, 
           
         Значение по умолчанию =Date(), 
           
         Обязательное - Да  |  
     
      | Дата закрытия | Дата |  | Дата/Время  |  
     
      | Договор |  | Ссылка на договор |  Числовой, 
           
         Длинное целое, 
           
         Индексированное - Да, допускаются совпадения  |  
     
      | Сумма |  | Сумма, которая храниться на счете в данный момент | Денежный, 
           
         Формат поля - Денежный |  
     
    
 
 
   
  
  
Теперь заходим в схему данных и устанавливаем связи между:   
   
  
 
"Юридические лица.Форма собственности" и "Формы собственности.ID" 
   
 "Юридические лица.Директор" и "Физические лица.ИНН" 
   
 "Юридические лица.Главный бухгалтер" и "Физические лица.ИНН" 
   
 "Договоры.Договор с юр лицом" и "Юридические лица.Код ОКПО" 
   
 "Договоры.Договор с физ лицом" и  "Физические лица.ИНН" 
   
  
Получаем примерно следующую схему базы данных депозитов: 
 
   
 
 
 
   
  
 
				
					
			
  
		
		
					 Определяем набор данных для БД |
		
		Описание курса
					|  Создание форм Access для редактирования данных     
		
		
		 |