Создание базы данных в microsoft access 2010. создание таблицы содержащей расчетное поле
Содержание:
- Использование среды SQL Server Management StudioUsing SQL Server Management Studio
- Особенности реляционных баз
- Что такое база данных?
- Изголовья и шкафы
- 2.4. Microsoft Access 2007
- Отношения между таблицами
- Перед началомBefore You Begin
- Предварительные требованияPrerequisites
- Что такое SQL?
- Создание базы данных в Excel: пошаговая инструкция
- Индексы и индексация таблиц
- Использование Transact-SQLUsing Transact-SQL
- Установите для себя правила именования таблиц и полей
- Установка первичного ключа
Использование среды SQL Server Management StudioUsing SQL Server Management Studio
Создание базы данныхTo create a database
-
В обозревателе объектовподключитесь к экземпляру компонента Компонент SQL Server Database EngineSQL Server Database Engine и разверните его.In Object Explorer, connect to an instance of the Компонент SQL Server Database EngineSQL Server Database Engine and then expand that instance.
-
Щелкните правой кнопкой мыши элемент Базы данных, а затем выберите пункт Создать базу данных.Right-click Databases, and then click New Database.
-
В поле Новая база данныхвведите имя базы данных.In New Database, enter a database name.
-
Чтобы создать базу данных, приняв все значения по умолчанию, нажмите кнопку ОК; иначе продолжайте выполнение следующих дополнительных шагов.To create the database by accepting all default values, click OK; otherwise, continue with the following optional steps.
-
Чтобы изменить имя владельца, нажмите ( … ) и выберите другого владельца.To change the owner name, click (…) to select another owner.
Примечание
Параметр Использовать полнотекстовое индексирование всегда установлен и недоступен (т. к. начиная с SQL Server 2008SQL Server 2008все пользовательские базы данных поддерживают полнотекстовый поиск).The Use full-text indexing option is always checked and dimmed because, beginning in SQL Server 2008SQL Server 2008, all user databases are full-text enabled.
-
Чтобы изменить значения первичных данных по умолчанию и файлов журнала транзакций, щелкните соответствующую ячейку в сетке Файлы базы данных и введите новое значение.To change the default values of the primary data and transaction log files, in the Database files grid, click the appropriate cell and enter the new value. Дополнительные сведения см. в статье AДобавление файлов данных или журналов в базу данных.For more information, see Add Data or Log Files to a Database.
-
Чтобы изменить параметры сортировки базы данных, выберите страницу Параметры и выберите из списка желаемые параметры сортировки.To change the collation of the database, select the Options page, and then select a collation from the list.
-
Чтобы изменить модель восстановления, выберите страницу Параметры и модель восстановления из списка.To change the recovery model, select the Options page and select a recovery model from the list.
-
Чтобы изменить параметры базы данных, выберите страницу Параметры и измените параметры базы данных.To change database options, select the Options page, and then modify the database options. Описание каждого параметра см. в статье Параметры ALTER DATABASE SET (Transact-SQL).For a description of each option, see ALTER DATABASE SET Options (Transact-SQL).
-
Чтобы добавить новую файловую группу, перейдите на страницу Группы файлов .To add a new filegroup, click the Filegroups page. Нажмите Добавить и введите значения для файловой группы.Click Add and then enter the values for the filegroup.
-
Чтобы добавить расширенное свойство в базу данных, выберите страницу Расширенные свойства .To add an extended property to the database, select the Extended Properties page.
-
В столбце Имя введите имя расширенного свойства.In the Name column, enter a name for the extended property.
-
В столбце Значение введите текст расширенного свойства.In the Value column, enter the extended property text. Например, введите одно или несколько предложений, которые описывают базу данных.For example, enter one or more statements that describe the database.
-
-
Чтобы создать базу данных, нажмите кнопку ОК.To create the database, click OK.
Особенности реляционных баз
Основные особенности реляционных баз можно сформулировать так:
- Все данные представлены в виде набора простых таблиц (двумерных массивов), разбитых на строки и столбцы, на пересечении которых расположены данные.
- У каждого столбца есть имя, уникальное в пределах таблицы, причем все значения в одном столбце — однородны, т.е. имеют один тип.
- Каждая строка имеет одно или несколько полей, набор значений в которых уникален в пределах таблицы. Этот набор называется первичным ключом (primary key) и служит для идентификации строки. Этот принцип не допускает, в частности, хранение в таблице совершенно одинаковых строк.
- Имя таблицы, имя столбца и первичный ключ однозначно определяют хранимый элемент данных.
- Строки в реляционной базе данных не упорядочены. Упорядочивание производится в момент формирования ответа на запрос.
- Запросы к базе данных возвращают результат в виде таблиц, которые также могут выступать как объект для новых запросов.
Чтобы такое изложение не воспринималось скучным и сложным, приведу поясняющий пример. Вот простая таблица — справочник стран. Назовем ее COUNTRIES.
Справочник стран COUNTRIES | |
ID | NAME |
1 | Россия |
2 | Франция |
3 | Марокко |
4 | Япония |
В таблице COUNTRIES всего два столбца:
- ID — код страны;
- NAME — ее название.
Столбец ID служит первичным ключом таблицы, а столбец NAME содержит ту полезную информацию, которую мы и будем стремиться извлекать запросами. Все данные столбца ID — целочисленны, столбца NAME — содержат текстовую информацию.
Что такое база данных?
База данных представляет собой набор данных, которые хранятся в компьютерной системе. Базы данных позволяют своим пользователям быстро и легко вводить, получать доступ и анализировать свои данные. Они — такой полезный инструмент, что вы их постоянно видите. Вы когда-нибудь ждали, пока регистратор врача ввел вашу личную информацию в компьютер или наблюдали, как сотрудник магазина использует компьютер, чтобы узнать, есть ли товар на складе? Затем вы видели базу данных в действии.
Самый простой способ понять, что такое база данных это подумать о ней, как о наборе списков. Подумайте об одной из упомянутых выше баз данных: базе данных о пациентах в кабинете врача. Какие списки содержатся в такой базе данных? Ну, для начала, есть список имен пациентов. Затем есть список прошлых встреч, список с историей болезни для каждого пациента, список контактной информации и т. д.
Это относится ко всем базам данных — от самых простых до самых сложных. Например, если вы хотите испечь печенье, то вы можете сохранить базу данных, содержащую рецепты, которые вы знаете как сделать, и друзей, которым вы даете эти рецепты. Это одна из самых простых баз данных. Он содержит два списка: список ваших друзей и список рецептов выпечки печенья.
Однако, если бы вы были профессиональным пекарем, у вас было бы еще много списков, которые нужно было бы отслеживать: список клиентов, список проданных продуктов, список цен, список заказов … это можно продолжать. Чем больше добавленных списков, тем сложнее будет база данных.
В Access списки немного сложнее, чем те, которые вы пишете на бумаге. Access сохраняет свои списки данных в таблицах, что позволяет хранить еще более подробную информацию. В приведенной ниже таблице список людей в базе данных пекаря любителя был расширен, чтобы включить другую соответствующую информацию о друзьях.
Если вы знакомы с другими программами в пакете Microsoft Office, это может напоминать вам Excel, что позволяет организовать данные аналогичным образом. Фактически, вы можете создать аналогичную таблицу в Excel.
Изголовья и шкафы
2.4. Microsoft Access 2007
2.4.5. Создание запросов и поиск информации в базе данных
В СУБД Access 2007 можно создавать queries для отображения требуемых полей из записей одной или нескольких таблиц.
В СУБД Access 2007 применяются различные типы запросов: на выборку, на обновление, на добавление, на удаление, перекрестный query, выполнение вычислений, создание таблиц. Наиболее распространенным является query на выборку. Применяются два типа запросов: query по образцу (QBE) и query на основе структурированного языка запросов (SQL).
Запросы на выборку используются для отбора требуемой пользователю информации, содержащейся в нескольких таблицах. Они создаются только для связанных таблиц. Queries могут основываться как на нескольких таблицах, так и существующих запросах. СУБД Access 2007 включает такие средства создания запросов, как Мастер и Конструктор.
Кроме того, в СУБД Access 2007 существует множество средств для поиска и отображения информации, которая хранится в базе данных. Данные в таблицах можно отсортировать на основе любого поля или комбинации полей. Для извлечения из базы данных необходимых записей можно отфильтровать таблицу, применив средства фильтрации.
На скриншоте (рисунок 1) средства сортировки и фильтрации выделены скругленным прямоугольником красного цвета.
Рис. 1.
Рассмотрим создание запроса на выборку с помощью Конструктора
Для создания нового пустого запроса в режиме конструктора надо щелкнуть на пиктограмме Конструктор запросов (рисунок 2).
Рис. 2.
Откроется активное окно диалога Добавление таблицы (рисунок 3) на фоне неактивного окна «Запрос1». В этом окне можно выбрать таблицы и queries для создания новых запросов.
Рис. 3.
В окне Добавление таблицы следует выбрать несколько таблиц из представленного списка таблиц, на основе которых будет проводиться выбор данных, и щелкнуть на кнопке Добавить. После этого закрыть окно Добавление таблицы, а окно «Запрос1» станет активным (рисунок 4).
Рис. 4.
Окно Конструктора состоит из двух частей – верхней и нижней. В верхней части окна размещается схема данных запроса, которая содержит список связанных таблиц. В нижней части окна находится Бланк построения запроса QBE, в котором каждая строка выполняет определенную функцию.
Переместим имена полей с таблиц-источников в Бланк. Из таблицы Группы студентов переместим поле Название в первое поле Бланка, из таблицы Студенты переместим поле Фамилии во второе поле, а из таблицы Успеваемость переместим поле Оценка в третье поле и из таблицы Дисциплины переместим поле Название в четвертое поле Бланка запросов.
При необходимости можно задать принцип сортировки (по возрастанию или по убыванию) результатов запроса. В строке «Вывод на экран» автоматически устанавливается флажок просмотра информации.
Условия ограниченного поиска или критерий поиска информации вводится в строке «Условия» отбора и строке «Или». Например, введем критерий поиска — «5/A» в строке «Условия» для поля Оценка. В этом случае в результате выполнения запроса на экране будут отображаться все фамилии студентов, которые получили оценку 5/A (рисунок. 5).
Рис. 5.
Далее надо закрыть окно запроса Запрос1, появится окно диалога Сохранить, ответить — Да и ввести имя запроса, например «Успеваемость студентов». Для запуска запроса дважды щелкнем на query «Успеваемость студентов», откроется таблица с результатами выполненного запроса (рис. 6).
Рис. 6.
Далее создаем параметрический query или query с параметрами. Создаем этот query также как и предыдущий, в режиме конструктора, но только в строке Условия отбора для поля Фамилия введем условие отбора в виде приглашения в квадратных скобках, например . В этом случае в результате выполнения запроса на экране будет отображаться фамилия студента и все дисциплины, по которым он получил оценку.
Закрыть окно запроса на выборку. На вопрос о сохранении изменения ответить — Да и ввести имя запроса, например «Параметрический query». Запустим Параметрический query, дважды щелкнув на нем. В открывшемся на экране окне диалога «Введите значение параметра» надо ввести фамилию студента, информацию об успеваемости которого необходимо получить (рис. 8).
Рис. 7.
Затем надо щелкнуть на кнопке ОК, откроется таблица с результатами выполненного запроса (рис. 8).
Рис. 8.
В некоторых случаях для создания запросов можно использовать Мастер запросов. После создания запросов на выборку информации из БД Access 2007 можно приступать к формированию форм.
Далее >>> Раздел: 2.4.6. Создание форм для ввода данных в таблицы базы данных Access 2007
Отношения между таблицами
Чтобы база данных стала реляционной, одних данных мало. Между ними нужны еще и связи (те самые relations, от которых и пошло слово «реляционный»).
Для связи между таблицами служит так называемый внешний ключ (foreign key). Название довольно точно выражает его суть. Если в таблице A есть столбец для хранения первичного ключа таблицы B, то такой столбец и называется внешним ключом. Первичные и внешние ключи устанавливают связи между таблицами, превращая набор таблиц в цельную конструкцию — реляционную базу данных.
Приведу пример. Допустим, мы создали еще одну простую таблицу — справочник товаров. Назовем ее GOODS.
Товарный справочник GOODS | ||||
ID | NAME | PRICE | UNIT | COUNTRY |
1 | Яблоки | 50.00 | кг | Россия |
2 | Груши | 60.40 | кг | Франция |
3 | Апельсины | 40.00 | кг | Марокко |
4 | Макароны | 21.00 | шт | Франция |
5 | Кефир | 25.30 | шт | Россия |
6 | Молоко | 30.50 | шт | Россия |
Ее колонки: ID — первичный ключ, NAME — название товара, PRICE — его цена, UNIT — краткое название единицы измерения, COUNTRY — название страны-производителя.
Хорошо ли построена такая таблица? Вроде бы всем упоминавшимся выше принципам она удовлетворяет: уникальные имена столбцов с однородными данными, строки с уникальным первичным ключом. Казалось бы, все на месте. Тем не менее построена она непрофессионально. Здесь мы подходим к принципам, о которых я еще не упоминал, — к понятию о нормализации таблиц. Суть в том, чтобы всюду, где только можно, избегать избыточности в хранении данных путем выделения их в отдельные таблицы.
Посмотрим на нашу таблицу GOODS. Чем она плоха? Представьте себе, что завтра придется изменить название какой-нибудь страны. Такое случается часто. Бирма когда-то меняла свое название на Мьянму, Польша — на Польскую Республику. Хочется ли вам менять огромное количество строк во всех таблицах, где эти страны упоминаются? Представьте также, что вас попросят отобрать запросом весь штучный товар. Можете ли вы быть уверены в том, что оператор всюду набил эту аббревиатуру правильно и одинаково? Скорее всего, окажется, что в таблице встречаются все мыслимые вариации: «шт», «Шт», «шт.», «штук» и «штуки».
Думаю, проблема понятна. Выходом из этой ситуации будет выделение из нее двух других таблиц: справочника стран (COUNTRIES) и справочника единиц измерений (UNITS).
Справочник единиц измерения UNITS | ||
ID | NAME | SHORT_NAME |
1 | Штуки | шт |
2 | Килограммы | кг |
Сам справочник товаров GOODS будет теперь выглядеть совершенно по-другому (см. таблицу).
Товарный справочник GOODS после нормализации | ||||
ID | NAME | PRICE | UNIT_ID | COUNTRY_ID |
1 | Яблоки | 50.00 | 2 | 1 |
2 | Груши | 60.40 | 2 | 2 |
3 | Апельсины | 40.00 | 2 | 3 |
4 | Макароны | 21.00 | 1 | 2 |
5 | Кефир | 25.30 | 1 | 1 |
6 | Молоко | 30.50 | 1 | 1 |
Что изменилось? Вместо столбцов с названиями единиц измерения и стран появились столбцы UNIT_ID и COUNTRY_ID с кодами, отсылающими нас к другим таблицам. Это и есть внешние ключи. Что означает значение 2 в столбце UNIT_ID? Оно означает, что интересующая нас информация по единице измерения находится той строке таблицы UNITS, где ID = 2. Достаточно заглянуть в этот справочник, чтобы убедиться, что называется эта единица полностью «штуки», а кратко — «шт».
Объяснение всех видов и принципов нормализации выходит далеко за рамки данной статьи. Главное — почувствовать общие принципы. Единожды научившись строить базы данных правильно, вы уже не сможете иначе. Для этого не обязательно знать теорию в полном объеме — зачастую здравого смысла и интуиции бывает достаточно.
Вернемся к нашей маленькой базе данных. Ну хорошо, нормализовали мы таблицу. Сможем теперь менять названия стран, не исправляя всю таблицу. Замечательно. Но как теперь увидеть эти названия? Ведь в справочнике товаров появились коды, и таблица сразу потеряла свою наглядность.
Вот тут-то мы и подходим к понятию уже не раз упоминавшихся запросов, которые, используя связи, извлекают из них нужную информацию и выдают нам опять же в виде так называемой отчетной таблицы.
Перед началомBefore You Begin
ОграниченияLimitations and Restrictions
В экземпляре SQL ServerSQL Serverможет быть задано не более 32 767 баз данных.A maximum of 32,767 databases can be specified on an instance of SQL ServerSQL Server.
Предварительные требованияPrerequisites
Инструкция CREATE DATABASE должна выполняться в режиме автоматической фиксации (режим управления транзакциями по умолчанию) и не может применяться в явной или неявной транзакции.The CREATE DATABASE statement must run in autocommit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.
РекомендацииRecommendations
-
Резервную копию базы данных master необходимо создавать каждый раз при создании, изменении или удалении пользовательской базы данных.The master database should be backed up whenever a user database is created, modified, or dropped.
-
При создании базы данных файлы данных следует делать как можно большего размера, в соответствии с максимальным предполагаемым объемом данных в базе данных.When you create a database, make the data files as large as possible based on the maximum amount of data you expect in the database.
PermissionsPermissions
Требуется разрешение CREATE DATABASE в базе данных master или разрешение CREATE ANY DATABASE или ALTER ANY DATABASE.Requires CREATE DATABASE permission in the master database, or requires CREATE ANY DATABASE, or ALTER ANY DATABASE permission.
В целях сохранения управления над использованием диска в экземпляре SQL ServerSQL Serverразрешение на создание баз данных обычно предоставляется небольшому числу учетных записей входа.To maintain control over disk use on an instance of SQL ServerSQL Server, permission to create databases is typically limited to a few login accounts.
Предварительные требованияPrerequisites
Для выполнения этого пошагового руководства вам потребуются рабочие нагрузки .NET для настольных приложений и хранения и обработки данных , установленные в Visual Studio.To complete this walkthrough, you’ll need the .NET desktop development and Data storage and processing workloads installed in Visual Studio. Чтобы установить их, откройте Visual Studio Installer и выберите команду изменить (или несколько > изменений) рядом с версией Visual Studio, которую необходимо изменить.To install them, open Visual Studio Installer and choose Modify (or More > Modify) next to the version of Visual Studio you want to modify.
Примечание
Процедуры, описанные в этой статье, применимы только к проектам .NET Framework Windows Forms, а не к проектам .NET Core Windows Forms.The procedures in this article apply only to .NET Framework Windows Forms projects, not to .NET Core Windows Forms projects.
Что такое SQL?
SQL — это самый распространенный язык запросов к базам данных. Расшифровывается аббревиатура так: Structured Query Language — «язык структурированных запросов».
Он создавался затем, чтобы привести работу с различными типами баз данных (а их сейчас известно множество) к единому стандарту, сделать работу по управлению данными независимой ни от аппаратной, ни от программной части компьютера.
Последнее удалось не в полной мере, так как в SQL различных систем на какой-то стадии появились расхождения, поскольку разработка SQL-управляемых систем часто опережает формирование стандартов. Но в целом идею такой стандартизации можно считать реализованной.
Собственно, именно поэтому базы данных профессионально сделанных сайтов, как правило, реляционны и SQL-управляемы.
Создание базы данных в Excel: пошаговая инструкция
Пошаговое создание базы данных в Excel. Перед нами стоит задача – сформировать клиентскую БД. За несколько лет работы у компании появилось несколько десятков постоянных клиентов. Необходимо отслеживать сроки договоров, направления сотрудничества. Знать контактных лиц, данные для связи и т.п.
Как создать базу данных клиентов в Excel:
- Вводим названия полей БД (заголовки столбцов).
- Вводим данные в поля БД. Следим за форматом ячеек. Если числа – то числа во всем столбце. Данные вводятся так же, как и в обычной таблице. Если данные в какой-то ячейке – итог действий со значениями других ячеек, то заносим формулу.
- Чтобы пользоваться БД, обращаемся к инструментам вкладки «Данные».
- Присвоим БД имя. Выделяем диапазон с данными – от первой ячейки до последней. Правая кнопка мыши – имя диапазона. Даем любое имя. В примере – БД1. Проверяем, чтобы диапазон был правильным.
Основная работа – внесение информации в БД – выполнена. Чтобы этой информацией было удобно пользоваться, необходимо выделить нужное, отфильтровать, отсортировать данные.
Индексы и индексация таблиц
Представьте себе, что ваш приятель загадал число между 1 и 1000 и просит вас угадать его за минимальное число попыток, сообщая лишь о том, в большую или меньшую сторону вы ошиблись. Как вы поступите? Очевидно, предложите при первой попытке версию 500 (то есть начнете с середины). Если он ответит: «меньше», — предложите 250. Если «больше» — 750. Так, разбивая интервалы пополам, вы уложитесь в 10 попыток (ведь 210 > 103). Если бы приятель загадал число в пределах миллиарда, то количество попыток уложилось бы в 30 (230 > 109).
Угадывая число, вы проводили поиск примерно так, как ведут его системы баз данных, использующие индексы. Понятное дело, их работа гораздо сложнее, но главная идея именно в этом — за небольшое число попыток найти нужное значение из миллиардов возможных. Поля, по которым вам часто придется делать в базе поиск, фильтрацию или связывание таблиц между собой, есть смысл проиндексировать, то есть создать специальный связанный с таблицей объект, содержащий информацию, необходимую для вышеописанного быстрого поиска.
Как это делается практически? Поясню на примерах. Допустим, вас часто просят отобрать информацию о товарах российского производства. Чтобы по колонке COUNTRY_ID таблицы GOODS фильтрация производилась быстрее, создадим по ней индекс с именем IDX_GOODS_COUNTRY:
Если в будущем вы передумаете использовать созданный индекс, то без труда его сможете удалить:
Использование Transact-SQLUsing Transact-SQL
Создание базы данныхTo create a database
-
Установите соединение с компонентом Компонент Database EngineDatabase Engine.Connect to the Компонент Database EngineDatabase Engine.
-
На панели «Стандартная» нажмите Создать запрос.From the Standard bar, click New Query.
-
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.Copy and paste the following example into the query window and click Execute. В этом примере создается база данных .This example creates the database . Ключевое слово PRIMARY не использовано, поэтому первый файл () становится первичным файлом.Because the keyword PRIMARY is not used, the first file () becomes the primary file. Поскольку в параметре SIZE для файла не заданы суффиксы MB и KB, используется значение MB и пространство выделяется в мегабайтах.Because neither MB nor KB is specified in the SIZE parameter for the file, it uses MB and is allocated in megabytes. Резервную копию базы данных выделено в мегабайтах, потому что суффикс явно указан в параметре .The file is allocated in megabytes because the suffix is explicitly stated in the parameter.
Дополнительные примеры см. в статье CREATE DATABASE (SQL Server Transact-SQL).For more examples, see CREATE DATABASE (SQL Server Transact-SQL).
Установите для себя правила именования таблиц и полей
Сложно работать с данными, которые выглядят как-то так: , , . Конечно, каждый программист в праве сам выбирать для себя стиль наименования, но для SQL рекомендуется выбрать наименование с подчёркиванием. Потому что не все SQL-движки одинаково работают с заглавными буквами, а помещать всё в кавычки бывает утомительно.
Ещё нужно определиться как будут называться таблицы — во множественном числе () или в единственном (). Каждая базовая структура в БД обычно настроена на множественное число, поэтому и именовать таблицы стоит соответственно.
Не упускайте возможность сложить побольше обязанностей на базу данных, чтобы облегчить себе работу над приложением и думать о его структуре, а не о контроле табличных связей.
Всё приходит с опытом. Спроектируйте две-три схемы, и картинка сама сложится у вас в голове. Отталкивайтесь от задачи —некоторыми рекомендациями иногда можно пренебречь.
Установка первичного ключа
Если вы сразу не установили ключевое поле, то надо это проделать. Для определения первичного ключа выделите поле Код группы и нажмите на панели конструктора таблиц кнопку с изображением ключа или выберите команду Ключевое поле из меню. В Microsoft Access можно выделить три типа ключевых полей:
счетчик, простой ключ и составной ключ.
Если первичный ключ не установлен пользователем до сохранения вновь созданной таблицы, Access выдаст запрос о необходимости включения в таблицу поля первичного ключа. При положительном ответе Access создаст ключевое поле типа счетчикс именем Код, в которое для каждого блока данных будет вводиться уникальный номер.
Простойключ определяется полем, содержащим уникальное значение.
Ключевое поле не позволит вводить в таблицу повторяющиеся или пустые значения, поскольку поле первичного ключа содержит однозначный идентификатор для каждой записи. Ключевое поле помогает Microsoft Access наиболее активно организовать поиск, хранение и объединение данных.
В случаях, когда невозможно гарантировать уникальность значений каждого поля, создают составной ключ, состоящий из нескольких полей. Такая ситуация возникает для таблицы, используемой для связывания двух таблиц в отношении «многие-ко-многим».