Своя субд за 3 недели. нужно всего лишь каждый день немного времени…

Создание баз данных в Microsoft Access

В наше время базы данных очень широко применяются в различных сферах: на предприятиях, в компаниях, учебных заведениях и так далее. А работать с ними позволяет программа из пакета Office — Microsoft Access, которая даёт юзерам очень широкие возможности для взаимодействия с таблицами. Навыки работы в программе Microsoft Access будут полезны каждому современному пользователю. В этой статье подробно рассмотрим, как создать базу данных в Access. Давайте разбираться. Поехали!

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

Пример создания базы с многоуровневым списком

Запустив Microsoft Access, выберите «Создать» в меню «Файл». Затем нажмите кнопку «Новая база данных». Справа в окне укажите имя файла и место, где он будет храниться. После этого нажмите кнопку «Создать». Также вы можете воспользоваться одним из списка шаблонов, предлагаемых утилитой. В некоторых случаях будет гораздо удобнее просто отредактировать шаблон, чем самостоятельно создать всё заново.

Как начать создание базы данных

Перед вами появится таблица с одним единственным полем. Наведите курсор на вкладку и выберите пункт «Конструктор». В появившемся окне будет предложено изменить название. Теперь можно начать заполнять ячейки в колонке «Имя поля». Следующий столбец «Тип данных» будет заполняться автоматически, в зависимости от того, вводили вы слова или числа. Тип данных в каждой ячейке можно изменять. Существуют такие типы данных:

  • текстовый;
  • поле МЕМО (эксплуатируется для описаний объектов, так как разрешает вводить большое количество символов, >255);
  • числовой;
  • дата/время;
  • денежный;
  • счётчик;
  • логический (удобно применять для полей, содержащих «да» или «нет»);
  • поле объекта OLE (позволяет вставлять файлы мультимедиа: фото, видео);
  • гиперссылка;
  • вложение (используется для хранения нескольких файлов в одном поле);
  • вычисляемый (разрешает рассчитать сумму, разность, произведение на основе других данных из таблицы);
  • мастер подстановок.

В большинстве случаев вам пригодятся только «числовой», «текстовый», «денежный», «вычисляемый» и «Дата/время», именно такие типы данных эксплуатируются наиболее часто. Ниже, в разделе «Свойства поля», вы можете увидеть размер поля. В случае, если у вас текстовый тип данных, там будет стоять 255. Это значит, что вы можете ввести в данной ячейке 255 символов. Разумеется, это слишком много, поэтому следует сократить размер указанного поля до 30 (вы можете поставить любое другое число, в зависимости от стоящих задач). Делается это для того, чтобы БД занимала меньше дискового пространства.

Для разного атрибута разный тип данных, пример на скриншоте.

Выбрав числовой тип данных, можно задать так называемую маску ввода. Нужна она для того, чтобы определённым образом отображать введённые числовые значения. Задаётся маска при помощи пробелов и решёток. Например, если ваша таблица содержит номера паспортов, то, чтобы эти номера отображались в соответствующем формате, задайте маску «####_######». То есть 4 символа, затем пробел и ещё 6 символов. Для номеров телефона можно указать маску «8(###)-###-##-##».

Для типа «Дата/время» дозволено выбрать различные форматы отображения в разделе «Свойства поля».

Не забудьте сохранить созданную таблицу. Сделать это можно, воспользовавшись комбинацией клавиш Ctrl+S. Если при сохранении появляется окно с предупреждением, что ключевые поля не заданы, то нажмите «Нет», так как их можно создать позже.

Клавиша сохранения находиться в левом верхнем углу.

Главное о базах данных

  • Чаще всего базы данных напоминают таблицы: в них одному параметру соответствует один набор данных. Например, один клиент — одно имя, один телефон, один адрес.
  • Такие «табличные» базы данных называются реляционными.
  • Чтобы строить сложные связи, разные таблицы в реляционных базах можно связывать между собой: ставить ссылки.
  • Реляционная база — не единственный способ хранения данных. Есть ситуации, когда нам нужна большая гибкость в хранении.
  • Бывают сетевые базы данных: когда нужно хранить много связей между множеством объектов. Например, каталог фильмов: в одном фильме может участвовать много человек, а каждый из них может участвовать во множестве фильмов.
  • Бывают иерархические базы, или «деревья». Пример — наша файловая система.
  • Какую выбрать базу — зависит от задачи. Одна база не лучше другой, но они могут быть более или менее подходящими для определённых задач.

Текст и иллюстрации

Миша Полянин

Редактор

Максим Ильяхов

Корректор

Ира Михеева

Иллюстратор

Даня Берковский

Вёрстка

Маша Дронова

Доставка

Олег Вешкурцев

Что-то делает руками

Паша Федоров

Во славу

Практикума

Структура базы данных: построение блоков

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

Чтобы преобразовать списки данных в таблицы, начните с создания таблицы для каждого типа объектов, таких как товары, продажи, клиенты и заказы. Вот пример:

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

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

  • CHAR — конкретная длина текста;
  • VARCHAR — текст различной длины;
  • TEXT — большой объем текста;
  • INT — положительное или отрицательное целое число;
  • FLOAT, DOUBLE — числа с плавающей запятой;
  • BLOB — двоичные данные.

Некоторые СУБД также предлагают тип данных Autonumber, который автоматически генерирует уникальный номер в каждой строке.

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

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

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

Когда придет время создавать фактическую БД, вы реализуете как логическую, так и физическую структуру через язык определения данных, поддерживаемый вашей СУБД.

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

Общая система типов

Важной особенностью работы с базой данных является то, что в «1С:Предприятии 8» реализована общая система типов языка и полей баз данных. Иными словами, разработчик одинаковым образом определяет поля базы данных и переменные встроенного языка и одинаковым образом работает с ними.. Этим система «1С:Предприятие 8» выгодно отличается от универсальных инструментальных средств

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

Этим система «1С:Предприятие 8» выгодно отличается от универсальных инструментальных средств. Обычно, при создании бизнес-приложений с использованием универсальных сред разработки, используются отдельно поставляемые системы управления базами данных. А это значит, что разработчику приходится постоянно заботиться о преобразованиях между типами данных, поддерживаемыми той или иной системы управления базами данных, и типами, поддерживаемыми языком программирования.

Заполнение таблиц данными

  1. в обозреватель сервера или SQL Server обозревателе объектов разверните узел образца базы данных.

  2. Откройте контекстное меню для узла таблицы , выберите Обновить, а затем разверните узел таблицы .

  3. Откройте контекстное меню таблицы Customers и выберите Просмотреть данные.

  4. Добавьте необходимые данные для некоторых клиентов.

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

  5. Откройте контекстное меню таблицы Orders и выберите пункт отобразить данные таблицы.

  6. Добавление данных для некоторых заказов. При вводе каждой строки она сохраняется в базе данных.

    Importante

    Убедитесь, что все идентификаторы заказов и количества заказов — целые числа, и каждый идентификатор клиента соответствует значению, указанному в столбце CustomerID таблицы клиентов.

Поздравляем! Теперь вы умеете создавать таблицы, связывать их с внешним ключом и добавлять данные.

Создание базы данных

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

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

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

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

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

Создание базы данных в MS Access 2010

На открывшейся после запуска Access странице отображено представление Microsoft Office Backstage — набор команд на вкладке Файл (File) — которое предназначено для выполнения команд, применяемых ко всей базе данных. При этом на вкладке Файл (File) выбрана команда Создать (New). Область этой команды содержит Доступные шаблоны (Available Templates), позволяющие создать базу данных с использованием многочисленных шаблонов, размещенных на вашем компьютере или доступных через Интернет.

Шаблон — это готовая к использованию база данных, содержащая все таблицы, запросы, формы и отчеты, необходимые для выполнения определенной задачи. Эти готовые базы данных позволяют быстро создать приложения, ориентированные на поддержку широкого спектра задач. Непрерывно появляются новые шаблоны приложений, которые можно загрузить с веб-узла Microsoft Office Online. Эти стандартные приложения можно использовать без какой-либо модификации и на-стройки либо, взяв их за основу, приспособить шаблон к вашим нуждам и создать новые поля и таблицы, формы, отчеты и другие объекты базы данных. Команда Открыть (Open) предназначена для открытия любой ранее созданной базы данных. Здесь же доступен список из 4 последних открываемых баз данных. Команда Последние (Recent) открывает более длинный список недавно открываемых баз данных. Щелчком на значке кнопки можно добавить базу данных в список последних, а щелчком на значке удалить из списка.

Команда Открыть (Open) предназначена для открытия любой ранее созданной базы данных. Здесь же доступен список из 4 последних открываемых баз данных. Команда Последние (Recent) открывает более длинный список недавно открываемых баз данных.

И у нас видео на эту тему:

Про создание файла базы данных Access читаем в следующей статье.

Создание связей между сущностями

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

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

Связь «один-к одному»

Когда существует только один экземпляр объекта A для каждого экземпляра объекта B, говорят, что между ними существует связь «один-к одному» (часто обозначается 1:1). Можно указать этот тип связи в ER-диаграмме линией с тире на каждом конце:

Создание базы данных mysql от А до Я

Если при проектировании и разработке баз данных у вас нет оснований разделять эти данные, связь 1:1 обычно указывает на то, что в лучше объединить эти таблицы в одну.

Но при определенных обстоятельствах целесообразнее создавать таблицы со связями 1:1. Если есть поле с необязательными данными, например «описание», которое не заполнено для многих записей, можно переместить все описания в отдельную таблицу, исключая пустые поля и улучшая производительность базы данных.

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

Связь «один-ко-многим»

Эта связи возникают, когда запись в одной таблице связана с несколькими записями в другой. Например, один клиент мог разместить много заказов, или у читателя может быть сразу несколько книг, взятых в библиотеке. Связи «один- ко-многим» (1:M) обозначаются так называемой «меткой ноги вороны», как в этом примере:

Чтобы реализовать связь 1:M, добавьте первичный ключ из «одной» таблицы в качестве атрибута в другую таблицу. Если первичный ключ таким образом указан в другой таблице, он называется внешним ключом. Таблица со стороны связи «1» представляет собой родительскую таблицу для дочерней таблицы на другой стороне.

Связь «многие-ко-многим»

Когда несколько объектов таблицы могут быть связаны с несколькими объектами другой. Говорят, что они имеют связь «многие-ко-многим» (M:N). Например, в случае студентов и курсов, поскольку студент может посещать много курсов, и каждый курс могут посещать много студентов.

На ER-диаграмме эти связи отображаются с помощью следующих строк:

При проектировании структуры базы данных реализовать такого рода связи невозможно. Вместо этого нужно разбить их на две связи «один-ко-многим».

Для этого нужно создать между этими двумя таблицами новую сущность. Если между продажами и продуктами существует связь M:N, можно назвать этот новый объект «sold_products», так как он будет содержать данные для каждой продажи. И таблица продаж, и таблица товаров будут иметь связь 1:M с sold_products. Этот вид промежуточного объекта в различных моделях называется таблицей ссылок, ассоциативным объектом или таблицей связей.

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

Создание базы данных SQL и работа с таблицами в SQL

Обязательно или нет?

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

Два объекта могут быть взаимозависимыми (один не может существовать без другого).

Рекурсивные связи

Иногда при проектировании базы данных таблица указывает на себя саму. Например, таблица сотрудников может иметь атрибут «руководитель», который ссылается на другое лицо в этой же таблице. Это называется рекурсивными связями.

Лишние связи

Лишние связи — это те, которые выражены более одного раза

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

Так как единственный способ, которым ученикам назначают учителей — это предметы.

Создание базы данных с помощью шаблона

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

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

  1. Если база данных открыта, нажмите на вкладке Файл кнопку Закрыть. В представлении Backstage откроется вкладка Создать.

  2. На вкладке Создать доступно несколько наборов шаблонов. Некоторые из них встроены в Access, а другие шаблоны можно скачать с сайта Office.com. Дополнительные сведения см. в следующем разделе.

  3. Выберите шаблон, который вы хотите использовать.

  4. Access предложит имя файла для базы данных в поле «Имя файла». При этом имя файла можно изменить. Чтобы сохранить базу данных в другой папке, отличной от папки, которая отображается под полем «Имя файла», нажмите кнопку , перейдите к папке, в которой ее нужно сохранить, и нажмите кнопку «ОК». При желании вы можете создать базу данных и связать ее с сайтом SharePoint.

  5. Нажмите кнопку Создать.

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

    На вкладке Главная в группе Записи нажмите кнопку Удалить.

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

Дополнительные сведения о работе с шаблонами см. в статье Создание базы данных Access на компьютере с помощью шаблона.

Шаг 1. Подготовка данных

Для того чтобы нам было с чем работать, я набрал в твиттере запрос “#databases” и сформировал таблицу из 10 записей:

Таблица 1

full_name username text created_at following_username
Boris Hadjur _DreamLead What do you think about #emailing #campaigns #traffic in #USA? Is it a good market nowadays? do you have #databases? Tue, 12 Feb 2013 08:43:09 +0000 Scootmedia, MetiersInternet
Gunnar Svalander GunnarSvalander Bill Gates Talks Databases, Free Software on Reddit http://t.co/ShX4hZlA #billgates #databases Tue, 12 Feb 2013 07:31:06 +0000 klout, zillow
GE Software GEsoftware RT @KirkDBorne: Readings in #Databases: excellent reading list, many categories: http://t.co/S6RBUNxq via @rxin Fascinating. Tue, 12 Feb 2013 07:30:24 +0000 DayJobDoc, byosko
Adrian Burch adrianburch RT @tisakovich: @NimbusData at the @Barclays Big Data conference in San Francisco today, talking #virtualization, #databases, and #flash memory. Tue, 12 Feb 2013 06:58:22 +0000 CindyCrawford, Arjantim
Andy Ryder AndyRyder5 http://t.co/D3KOJIvF article about Madden 2013 using AI to prodict the super bowl #databases #bus311 Tue, 12 Feb 2013 05:29:41 +0000 MichaelDell, Yahoo
Andy Ryder AndyRyder5 http://t.co/rBhBXjma an article about privacy settings and facebook #databases #bus311 Tue, 12 Feb 2013 05:24:17 +0000 MichaelDell, Yahoo
Brett Englebert Brett_Englebert #BUS311 University of Minnesota’s NCFPD is creating #databases to prevent “food fraud.” http://t.co/0LsAbKqJ Tue, 12 Feb 2013 01:49:19 +0000 RealSkipBayless, stephenasmith
Brett Englebert Brett_Englebert #BUS311 companies might be protecting their production #databases, but what about their backup files? http://t.co/okJjV3Bm Tue, 12 Feb 2013 01:31:52 +0000 RealSkipBayless, stephenasmith
Nimbus Data Systems NimbusData @NimbusData CEO @tisakovich @BarclaysOnline Big Data conference in San Francisco today, talking #virtualization, #databases,& #flash memory Mon, 11 Feb 2013 23:15:05 +0000 dellock6, rohitkilam
SSWUG.ORG SSWUGorg Don’t forget to sign up for our FREE expo this Friday: #Databases, #BI, and #Sharepoint: What You Need to Know! http://t.co/Ijrqrz29 Mon, 11 Feb 2013 22:15:37 +0000 drsql, steam_games

В первую очередь, давайте разберёмся с колонками:

  • full_name: имя пользователя
  • username: логин в Twitter-е
  • text: текст твита
  • created_at: время создания твита
  • following_username: список пользователей, разделённых запятыми, которые подписались на этот твитт. Для краткости я сократил этот список до 2 имён.

Это реальные данные. Если хотите, вы можете их найти и обновить.

Хорошо. Теперь все наши данные находятся в одном месте. Даёт ли это нам возможность легко осуществить поиск по ним? Не совсем. Данная таблица далека от идеала. Во-первых, в некоторых столбцах у нас есть повторяющиеся записи: к примеру, в х “username” и “following_username”. Также колонка “following_username” нарушает правила реляционных моделей, т.к. её в ячейках присутствует более 1 значения (записи разделены запятыми).

К тому же у нас попадаются дубликаты и в строках.

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

Решение данной проблемы заключается в разделении Таблицы 1 на несколько таблиц. Давайте примемся за решение первой проблемы, а именно — устранение дубликатов в столбцах.

Добавление индексов и представлений

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

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

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

Система управления базами данных (СУБД)

Система управления базами данных (сокращенно СУБД) – это программное обеспечение для создания и работы с базами данных.

Главная функция СУБД – это управление данными (которые могут быть как во внешней, так и в оперативной памяти). СУБД обязательно поддерживает языки баз данных, а также отвечает за копирование и восстановление информации после каких-либо сбоев.

Реляционные СУБД и язык SQL

Реляционные и объектно-реляционные СУБД являются одними из самых распространенных систем. Они представляют собой таблицы, в которых каждый столбец (он называется «field» или «поле») упорядочен и имеет определенное уникальное название. Последовательность строк (их называют «records» или «записи») определяется последовательностью ввода информации в таблицу. При этом обрабатывание столбцов и строк может происходить в любом порядке. Таблицы с данными связаны между собой специальными отношениями, благодаря чему с данными из разных таблиц можно работать – к примеру, объединять их при помощи одного запроса.

Для управления реляционными базами данных применяется особый язык программирования – SQL. Сокращение расшифровывается как «Structured query language», в переводе на русский – «язык структурированных запросов».

Команды, которые используются в SQL, делятся на:

  • манипулирующие данными,
  • определяющие данные,
  • управляющие данными.

Схема работы с базой данных выглядит следующим образом:

Список полезной литературы

  1. Учимся проектированию Entity Relationship — диаграмм // Хабр URL: https://habr.com/ru/post/440556/ (дата обращения: 02.01.2021).
  2. Технологии баз данных. Лекция 3. Модель «Сущность-связь». URL: https://docplayer.ru/27886777-Model-sushchnost-svyaz-tehnologii-baz-dannyh-lekciya-3.html (дата обращения: 02.01.2021).
  3. Entity Relationship Diagram. URL: https://plantuml.com/ru/ie-diagram (дата обращения: 03.01.2021).
  4. Transact-SQL Reference (Database Engine) // Microsoft Docs URL: https://docs.microsoft.com/ru-ru/sql/t-sql/language-reference?view=sql-server-ver15 (дата обращения: 05.01.2021).
  5. Нормализация отношений. Шесть нормальных форм // Хабр URL: https://habr.com/ru/post/254773/ (дата обращения: 05.01.2021).
  6. Материалы для скачивания по SQL Server // Microsoft URL: https://www.microsoft.com/ru-ru/sql-server/sql-server-downloads (дата обращения: 05.01.2021).
  7. Другой пример проектирования базы данных (MySQL). URL: https://pro-prof.com/forums/topic/db_example

Создание пользователя с использованием SSMS

  1. В обозревателе объектов раскройте папку Базы данных .

  2. Разверните базу данных, в которой создается новый пользователь базы данных.

  3. Щелкните правой кнопкой мыши папку Безопасность, выберите пункт Создать, а затем Пользователь… .

  4. В диалоговом окне Пользователь базы данных — создание на странице Общие выберите один из следующих типов пользователей в списке Тип пользователя:

    • пользователь SQL с именем для входа

    • пользователя SQL с паролем

    • Пользователь SQL без имени для входа

    • Пользователь, сопоставленный с сертификатом

    • Пользователь, сопоставленный с асимметричным ключом

    • пользователя Windows

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

    User name
    Введите имя нового пользователя. Если выбрать элемент Пользователь Windows в списке Тип пользователя, вы можете также щелкнуть многоточие (…) и открыть диалоговое окно Выбор пользователя или группы.

    Имя входа
    Введите имя входа для пользователя. Также можно щелкнуть многоточие (…) , чтобы открыть диалоговое окно Выбор имени входа. Имя входа доступно, если выбрать элемент SQL-пользователь с именем входа или Пользователь Windows в списке Тип пользователя .

    Пароль и Подтверждение пароля
    Введите пароль для пользователей, которым требуется доступ к базе данных.

    Язык по умолчанию
    Укажите язык по умолчанию для пользователя.

    Схема по умолчанию
    Укажите схему, которая будет владеть объектами, созданными пользователем. Также можно щелкнуть многоточие (…) , чтобы открыть диалоговое окно Выбор схемы. Схема по умолчанию доступна, если выбрать элемент SQL-пользователь с именем входа, SQL-пользователь без имени входа или Пользователь Windows в списке Тип пользователя .

    Имя сертификата
    Укажите сертификат для пользователя базы данных. Также можно щелкнуть многоточие (…) , чтобы открыть диалоговое окно Выбор сертификата. Имя сертификата доступно, если выбрать элемент Пользователь, сопоставленный с сертификатом в списке Тип пользователя .

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

  6. Нажмите кнопку ОК.

Дополнительные параметры

Диалоговое окно Пользователь базы данных — создание также содержит параметры на четырех дополнительных страницах: Собственные схемы, Членство, Защищаемые объекты и Расширенные свойства.

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

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

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

  • Страница Расширенные свойства позволяет добавлять пользовательские свойства пользователям базы данных. На этой странице доступны следующие параметры.

    База данных
    Отображает имя выбранной базы данных. Это поле доступно только для чтения.

    Параметры сортировки
    Отображает параметры сортировки, используемые для выбранной базы данных. Это поле доступно только для чтения.

    Свойства
    Просмотрите или укажите расширенные свойства объекта. Каждое расширенное свойство состоит из пары имя/значение метаданных, связанных с объектом.

    Кнопка с многоточием (…)
    Нажмите многоточие (…) рядом с полем Значение, чтобы открыть диалоговое окно Значение для расширенного свойства. Введите или просмотрите значение расширенного свойства в этом более просторном окне. Дополнительные сведения см. в разделе Диалоговое окно «Значение для расширенного свойства».

    Удаление
    Удаляет выбранное расширенное свойство.

В чём преимущества

Базы данных и их системы управления заточены на работу с большим объёмом данных и от лица большого числа пользователей. Сейчас вы поймёте.

Представьте, что у вас есть экселька со списком клиентов. Это не база данных, это просто таблица. Чтобы прочитать или записать что-то в эту эксельку, вам нужно её открыть, сделать дело, сохранить.

Допустим, экселька с клиентами лежит на сетевом диске. Вы открыли её и ковыряетесь в данных, вносите изменения. Пока вы это делаете, ваш коллега тоже её открыл и тоже вносит изменения. Потом вы сохранились и закрыли эксельку. Экселька перезаписалась вашими данными. Но у вашего коллеги эти данные не отобразились, он-то открыл её раньше. Теперь, когда он сохранит свою эксельку, его данные перезапишутся поверх ваших, а ваши данные пропадут. Это полный ахтунг: вся ваша работа потеряна.

Или у вас в компании правило: экселька всегда на одной флешке, работаем только с неё. Сейчас флешка в вашем компьютере, вы с ней работаете. А вашему коллеге нужно с ней тоже поработать. Он говорит: «Дай». Вы ему «Отстань». Ну и слово за слово…

Но можно организовать своего рода СУБД. Один ответственный сотрудник назначается главным по эксельке. Она открыта на его компьютере, а вы ему говорите: «Петруха, добавь в клиента такого-то вот такие данные». «Петруха, а шо, когда дедлайн по поставке для этих ребят из Воронежа?», «Петруха, питерские отказались, поставь там отказ».

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

Понятно, что Петруха медленный и не всегда многозадачный, но хотя бы он избавляет от проблемы рассинхрона версий и потери данных.

Скорость — ещё одно преимущество базы данных. База данных устроена так, что она легко и быстро находит, записывает, переписывает и снова находит данные. Всё потому, что СУБД всегда знает, что где лежит и по какому критерию искать. Там не будет случайных данных в случайном месте.

Скорость важна ещё и потому, что СУБД обычно обслуживает сразу много потоков: одновременно ей могут пользоваться десятки и сотни тысяч человек, поэтому ей некогда копаться. В хорошо сделанных БД всё молниеносно.

Сложность. Базы данных нужны в числе прочего для хранения сложно структурированных данных. Мы привыкли думать, что база данных — это такая таблица, где есть строки и столбцы. Но база данных при правильной организации может намного больше:

  • Связывать одну единицу данных с множеством других. Например, если один человек совершил много заказов со множеством товаров внутри каждого, база данных способна хранить и обрабатывать такие связи.
  • База может хранить дерево данных — вроде того, о котором мы писали недавно. Попробуй в реальной жизни похранить дерево!
  • В базах могут жить ссылки на другие фрагменты и отделы базы.

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector