Первичный ключ
Содержание:
- Удалить первичный ключ
- 6.2. Первичные ключи и индексирование
- Как ставить хештеги в разных социальных сетях
- Загрузка стандартных приложений из магазина
- Что такое первичный ключ
- Связывание таблиц
- Внешний ключ
- пример
- Пример приведения таблицы ко второй нормальной форме
- Создание таблицы базы данных
- Руководство по проектированию реляционных баз данных (10-13 часть из 15) [перевод]
- Что такое внешний ключ
- Первичные ключи
- Определение первичных ключей в SQL
- Внешние ключи
- БД из трех таблиц
Удалить первичный ключ
В SQL вы можете удалить первичный ключ, используя оператор ALTER TABLE.
Синтаксис
Синтаксис для удаления первичного ключа в SQL.
ALTER TABLE table_name DROP PRIMARY KEY;
- table_name
- Имя таблицы для изменения. Это таблица, первичный ключ которой вы хотите удалить
Пример
Давайте посмотрим, как удалять первичный ключ с помощью оператора ALTER TABLE в SQL.
PgSQL
ALTER TABLE suppliers
DROP PRIMARY KEY;
1 2 |
ALTERTABLEsuppliers DROPPRIMARYKEY; |
В этом примере мы удалили первичный ключ из таблицы suppliers. Нам не нужно указывать имя первичного ключа, поскольку в таблице может быть только один первичный ключ.
6.2. Первичные ключи и индексирование
Access
относится к реляционным
базам данных, информация в которых
хранится в связанных
таблицах. Каждая таблица должна иметь
уникальное имя. Для организации связи
между таблицами каждая таблица должна
содержать одно или несколько полей,
однозначно определяющих каждую запись
в таблице. Такие поля называют первичным
ключом
таблицы. Если для таблицы определен
первичный ключ, то Microsoft Access предотвращает
дублирование ключа или ввод нулевых
значений в эти поля.
В
Access допускается определение первичных
ключей трех типов:
Ключевые
поля счетчика.
Поле счетчика можно задать таким образом,
чтобы при добавлении каждой новой записи
в таблицу в это поле автоматически
вносился порядковый номер. Указание
такого поля в качестве ключевого является
наиболее простым способом создания
первичного ключа. Если до сохранения
созданной таблицы ключевые поля не были
определены, Access предлагает создать
ключевое поле автоматически. При нажатии
кнопки «Да» будет создано ключевое
поле счетчика.
Простой
ключ.
Если поле содержит уникальные значения,
такие как коды товара или инвентарные
номера, то это поле можно определить
как первичный ключ. В качестве ключа
можно определить любое поле, содержащее
данные, если это поле не содержит
повторяющихся или нулевых значений.
Составной
ключ.
В случаях, когда невозможно гарантировать
уникальность значений каждого поля,
существует возможность создать ключ,
состоящий из нескольких полей. Для
составного ключа существенным может
оказаться порядок образующих ключ
полей. Сортировка записей осуществляется
в соответствии с порядком ключевых
полей, отображаемых в бланке режима
конструктора таблицы.
Рис.
6.2. Пример таблицы, требующей создания
составного ключа
Для
создания составного ключа следует в
режиме конструктора выделить нужные
поля, удерживая клавишу CTRL,
а затем выполнить команду ПРАВКА/КЛЮЧЕВОЕ
ПОЛЕ (кнопка
).
Если
порядок полей в составном первичном
ключе должен отличаться от порядка
полей в таблице, следует выполнить
команду ВИД/ИНДЕКСЫ (кнопка
на панели инструментов), чтобы открытьокно
«Индексы». В этом окне и следует
указать другой порядок полей дляиндексас именем «PrimaryKey» (см. рис.6.3).
Рис.
6.3. Окно для изменения порядка полей в
составном ключе
Связь
между таблицами осуществляется через
совпадающие значения одного или
нескольких ключевых полей. Ключи
хранятся в индексированном
(упорядоченном) виде, что обеспечивает
быстрый доступ к записям таблицы
во время поиска.
Если
приходится часто искать записи по
полю, не являющемуся ключевым, ускорить
поиск можно, проиндексировав таблицу
по соответствующим полям. Индексирование
позволяет поддерживать записи
упорядоченными по выбранному полю.
Индекс можно создать по одному
(простой индекс)
или нескольким полям (составной
индекс).
Для создания простого индекса
используется свойство поля
“Индексированное поле”, оно может
содержать и не уникальные значения,
например, повторяющиеся фамилии.
Возможны три типа индексации: Нет, Да
(Допускаются совпадения), Да (Совпадения
не допускаются). При индексировании
по умолчанию задаётся порядок
сортировки
по возрастанию.
Пример
окна для создания индексированного
поля типа «Да (Совпадения не допускаются)»
приведён на рис. 6.4 – это поле «КОД
ТОВАРА» таблицы «ТОВАРЫ».
Рис.
6.4. Вид таблицы «ТОВАРЫ» в режиме
конструктора
Такой
тип индексации описывает уникальное
поле, т.е. товары могут иметь повторяющиеся
значения в полях «КАТЕГОРИЯ»,
«НАИМЕНОВАНИЕ» и даже «ЦЕНА»,
но поле «КОД ТОВАРА» однозначно
идентифицирует этот товар.
Как ставить хештеги в разных социальных сетях
В каждой соцсети есть свои тонкости. Рассмотрим подробнее.
С этой соцсети пошло использование хештегов, и по сей день они активно там используются. Более того – без хештегов ваш твит вообще мало кто увидит, кроме подписчиков.
Пример использования хештега в “Твиттере”
Искать посты по определенным хештегам просто: достаточно забить нужное слово в строку поиска. Далее выбираете нужную категорию твитов: “Популярное”, “Последнее”, “Люди”№, “Фотографии”, “Видео”.
Рекомендуется использовать не более 2-3 хештегов, иначе ваш пост могут счесть спамом. Не злоупотребляйте! Также в “Твиттере” принято вставлять хештег прямо в тело поста, а не в концовку.
Вот уж где раздолье для хештегов всех мастей! В “Инстаграме” пост без хештегов – редкость. Это и неудивительно: очень многие любят позалипать вечерком, смотря красивые фото пользователей, объединенные одной темой. Найти записи по определенному хештегу можно в строке поиска вверху страницы.
Пожалуйста – 1797 262 публикации!
Алгоритм прост: если вы добавляете хештеги к своей записи, ваш пост будет показываться первым в ленте – пока кто-то еще не опубликует запись с таким же хештегом, и ваша запись улетит вниз. Есть здесь и ограничения: к одному посту можно добавить не более 30 хештегов. Хотя и это перебор, на мой взгляд.
Популярные хештеги можно подобрать с помощью специальных сервисов (напишу о них в конце статьи). А также внимательно смотреть, какие метки ставят к своим записям другие пользователи.
Поиск по хештегам осуществляется так же: забивается нужное слово в строку поиска.
Мы видим все посты пользователей начиная от самых недавних
Во “Вконтакте” хештеги используются не столь активно, как в “Инстаграме” и “Твиттере”. Здесь принято ставить их в конце поста. И не злоупотреблять количеством, конечно – хоть конкретных ограничений по количеству хештегов не имеется.
Есть во “ВКонтакте” интересная фишка: с помощью хештегов можно группировать посты по теме внутри одного сообщества. Выглядит это так: #отзывы@название сообщества. По этим хештегам можно найти все отзывы по теме.
Пример локального хештега
По моим наблюдениям, хештеги в Facebook используются нечасто. Найти нужную запись можно также по поиску – в этом алгоритм не отличается от других соцсетей. Результаты можно смотреть как все подряд, так и в категориях: “Публикации”, “Люди”, “Фото”, “Видео”, “Места”, “Группы” и так далее.
Рекомендуется ставить не более трех хештегов к одной записи. Иначе ваш пост может не показываться другим пользователям и получить мало охвата.
Принцип поиска по хештегам тот же. Можно искать посты по теме в категориях “Люди”, “Группы”, “Игры”, “Музыка”, “Видео”. Но есть нюанс: когда вы начинаете вводить хештег, соцсеть сама дает подсказки (типа Т9 на смартфоне). Весьма удобная фишка!
YouTube
Здесь тоже есть ограничение: не более 15 хештегов к одному видео. В остальном все также: видео по хештегам ищутся через поиск (причем видеохостинг дает подсказки), сами хештеги ставятся в описании видеоролика или прямо в заголовке – перед названием ролика.
Поиск видео по хештегу #бизнес
Особых правил нет: хештеги ставятся в описании поста, ограничений на их количество нет. Остальные правила написания хештегов те же, что и обычно.
Telegram
Особо стоит отметить “Телеграм”, хоть это и не совсем соцсеть – скорее мессенджер с элементами соцсети. Но не суть
В Telegram тоже используются хештеги, чтобы привлечь внимание к своей записи. Также их используют в групповых чатах и личной переписке
Удобная фишка: когда вводите хештег в строку поиска, результаты показывают не только посты других каналов и пользователей с этим хештегом, но и ваши личные диалоги, в которых вы употребляли то или иной хештег.
Загрузка стандартных приложений из магазина
Каждая из стандартных игрушек была переработана и усовершенствована в плане игрового процесса и дизайна.
- Откройте окно магазина приложений;
- Введите в строке поиска слово «Microsoft», чтобы увидеть все приложения, которые выпускает компания. В их числе будут и стандартные. Результаты поиска будут как на рисунке ниже;
№11 – результат поиска по запросу пользователя
Откройте вкладку игр, чтобы получить список всех разработок компании «Майкрософт».
№12 – вкладка игр
Чтобы установить игру, для начала найдите нужную вам и затем, кликните на ней и нажмите кнопку «Установить».
Рекомендовать
АЛЕКСИЯ AliExpress for women Полезные и интересные товары с Алиэкспресс для жещин. Купоны и скидки
Что такое первичный ключ
Столбец первичного ключа в таблице помогает идентифицировать каждую строку или запись в таблице. Содержит уникальные значения. Столбец первичного ключа не может иметь значения Null. Таблица может иметь один первичный ключ. В таблице Student, student_id является первичным ключом. В таблице Patient_Details, Patient_id является первичным ключом. Для первичного ключа необязательно иметь одно поле. Это также может быть комбинация нескольких полей. Когда первичный ключ состоит из нескольких полей, он называется составным ключом. Например, первичный ключ таблицы Student может быть комбинацией student_id и name.
Связывание таблиц
Если для какой-то из таблиц не было определено ключевое поле, то в поле Тип отношения отображается текст «Не определено».
- Откройте окно Схема данных, нажав кнопку на панели инструментов
- В диалоговом окне Добавление таблицы выберите вкладку Таблицы и, нажимая кнопку Добавить, разместите в окне Схема данных все ранее созданные таблицы базы данных, список которых будет отображен в диалоговом окне. Можно добавить все таблицы сразу, выделив 1-ую таблицу и нажав Shift — последнюю таблицу.
- Нажмите кнопку Закрыть. В результате в окне Схема данных будут представлены все таблицы базы данных КОЛЛЕДЖ со списками своих полей.
- Установите связь между таблицами ГРУППА и СТУДЕНТ по простому ключу Номер Группы или Код группы (смотри в своей БД). Для этого в окне Схема данных установите курсор мыши на ключевое поле НГ главной таблицы ГРУППА и перетащите это поле на поле Номер Группы в подчиненной таблице СТУДЕНТ Для удаления ошибочной связи в окне Схема данных выделите ненужную связь и нажмите Del.
- В открывшемся окне Изменение связей в строке Тип отношения установится один-ко-многим. Отметьте доступный для этого типа отношений параметр Обеспечение целостности данных.
- Установите флажки каскадное обновление и удаление связанных полей, тогда будет обеспечена автоматическая корректировка данных для сохранения целостности во взаимосвязанных таблицах. Нажмите Создать. Чтобы линии связи не пересекались и были удобны для восприятия, расположите таблицы в окне Схемы данных в соответствии с их относительной подчиненностью.
- Установите связи по простому ключу для других пар таблиц:
ПРЕДМЕТ—ПРЕПОДАВАТЕЛЬ
ПРЕДМЕТ-ЗАНЯТИЯ
ПРЕПОДАВАТЕЛЬ—ГРУППА
ГРУППА—ЭКЗАМЕН
Внешний ключ
Внешние ключи — это основной механизм для организации связей между таблицами и поддержания целостности и непротиворечивости информации в базе данных.
Внешний ключ — это столбец или группа столбцов, ссылающиеся на столбец или группу столбцов другой (или этой же) таблицы. Таблица, на которую ссылается внешний ключ, называется родительской таблицей, а столбцы, на которые ссылается внешний ключ — родительским ключом. Родительский ключ должен быть первичным или уникальным ключом, значения же внешнего ключа могут повторяться хоть сколько раз. То есть с помощью внешних ключей поддерживаются связи «один ко многим». Типы данных (а в некоторых СУБД и размерности) соответствующих столбцов внешнего и родительского ключа должны совпадать.
И самое главное. Все значения внешнего ключа должны совпадать с каким-либо из значений родительского ключа. (Заметим в скобках насчет совпадения / несовпадения: нюансы возникают, когда в значениях столбцов вторичного ключа встречается NULL. Давайте пока в эти нюансы вдаваться не будем). Появление значений внешнего ключа, для которых нет соответствующих значений родительского ключа, недопустимо. Вот тут-то мы плавно переходим к понятию ссылочной целостности.
пример
В качестве первого примера для иллюстрации внешних ключей предположим, что в базе данных учетных записей есть таблица со счетами-фактурами, и каждый счет-фактура связан с определенным поставщиком. Детали поставщика (например, имя и адрес) хранятся в отдельной таблице; каждому поставщику дается «номер поставщика» для его идентификации. Каждая запись счета-фактуры имеет атрибут, содержащий номер поставщика для этого счета-фактуры. Тогда «номер поставщика» является первичным ключом в таблице «Поставщик». Внешний ключ в таблице Invoices указывает на этот первичный ключ. Реляционная схема следующая. Первичные ключи выделены жирным шрифтом, а внешние ключи — курсивом.
Supplier ( SupplierNumber, Name, Address, Type ) Invoices ( InvoiceNumber, SupplierNumber, Text )
Соответствующий оператор языка определения данных выглядит следующим образом.
CREATE TABLE Supplier ( SupplierNumber INTEGER NOT NULL, Name VARCHAR(20) NOT NULL, Address VARCHAR(50) NOT NULL, Type VARCHAR(10), CONSTRAINT supplier_pk PRIMARY KEY(SupplierNumber), CONSTRAINT number_value CHECK (SupplierNumber > ) ) CREATE TABLE Invoices ( InvoiceNumber INTEGER NOT NULL, SupplierNumber INTEGER NOT NULL, Text VARCHAR(4096), CONSTRAINT invoice_pk PRIMARY KEY(InvoiceNumber), CONSTRAINT inumber_value CHECK (InvoiceNumber > ), CONSTRAINT supplier_fk FOREIGN KEY(SupplierNumber) REFERENCES Supplier(SupplierNumber) ON UPDATE CASCADE ON DELETE RESTRICT )
Пример приведения таблицы ко второй нормальной форме
Представим, что нам нужно хранить список сотрудников организации, и для этого мы создали следующую таблицу.
Таблица сотрудников в первой нормальной форме.
ФИО | Должность | Подразделение | Описание подразделения |
Иванов И.И. | Программист | Отдел разработки | Разработка и сопровождение приложений и сайтов |
Сергеев С.С. | Бухгалтер | Бухгалтерия | Ведение бухгалтерского и налогового учета финансово-хозяйственной деятельности |
John Smith | Продавец | Отдел реализации | Организация сбыта продукции |
Мы видим, что она удовлетворяет условиям первой нормальной формы, т.е. в ней нет дублирующих строк и все значения атомарны.
Теперь мы можем начать процесс нормализации этой таблицы до второй нормальной формы.
Что для этого нам нужно сделать? Нам нужно внедрить первичный ключ.
Поработав немного с предметной областью, мы выясняем, что в этой организации каждому сотруднику присваивается уникальный табельный номер, который никогда не будет изменен.
Поэтому очевидно, что для таблицы, которая будет хранить список сотрудников, первичным ключом может выступать табельный номер, зная который мы можем четко идентифицировать каждого сотрудника, т.е. каждую строку нашей таблицы. Если бы такого табельного номера у нас не было или в рамках организации он мог повторяться (например, сотрудник уволился, и спустя время его номер присвоили новому сотруднику), то для первичного ключа мы могли бы создать искусственный ключ с целочисленным типом данных, который автоматически увеличивался бы в случае добавления новых записей в таблицу. Тем самым мы бы точно также четко идентифицировали каждую строку в таблице.
Таким образом, чтобы привести эту таблицу ко второй нормальной форме, мы должны добавить в нее еще один атрибут, т.е. столбец с табельным номером.
Таблица сотрудников во второй нормальной форме с простым первичным ключом.
Табельный номер | ФИО | Должность | Подразделение | Описание подразделения |
1 | Иванов И.И. | Программист | Отдел разработки | Разработка и сопровождение приложений и сайтов |
2 | Сергеев С.С. | Бухгалтер | Бухгалтерия | Ведение бухгалтерского и налогового учета финансово-хозяйственной деятельности |
3 | John Smith | Продавец | Отдел реализации | Организация сбыта продукции |
В результате, так как наш первичный ключ является простым, а не составным, наша таблица автоматически переходит во вторую нормальную форму.
Иными словами, если первичный ключ простой (не составной, т.е. состоящий из одного столбца), второе требование, которое предъявляется к таблицам для перехода во вторую нормальную форму, выполнять не требуется, так как оно относится только к таблицам, у которых первичный ключ составной.
Создание таблицы базы данных
Создание таблицы базы данных состоит из двух этапов.
На первом этапе определяется ее структура: состав полей, их имена, тип данных каждого поля, размер поля, ключи, индексы таблицы и другие свойства полей.
На втором этапе производится создание записей таблицы и заполнение их данными.
1 Этап: Создание структуры таблицы
Access предоставляет несколько способов создания таблицы:
- Режим таблицы — создание таблицы в Режиме таблицы;
- Конструктор — создание таблицы с помощью Конструктора таблиц;
- Мастер таблиц — создание таблицы с помощью Мастера таблиц;
- Импорт таблиц — создание таблицы путем импортирования данных из внешнего файла или другой базы данных;
- Связь с таблицами — присоединение внешнего файла или таблицы другой базы данных.
Наиболее полно использовать все возможности системы позволяет Конструктор таблиц, с помощью которого можно в диалоговом режиме определить структуру таблицы и установить параметры всех ее элементов.
Начните создание таблицы ГРУППА с определения ее структуры в режиме Конструктора таблиц.
- В окне Новая таблица выберите строку Конструктор.
Руководство по проектированию реляционных баз данных (10-13 часть из 15) [перевод]
Перевод
Продолжение.
Предыдущие части: 1-3, 4-6, 7-9
10. Нормализация баз данных
Указания для правильного проектирования реляционных баз данных изложены в реляционной модели данных. Они собраны в 5 групп, которые называются нормальными формами. Первая нормальная форма представляет самый низкий уровень нормализации баз данных. Пятый уровень представляет высший уровень нормализации.
Нормальные формы – это рекомендации по проектированию баз данных. Вы не обязаны придерживаться всех пяти нормальных форм при проектировании баз данных. Тем не менее, рекомендуется нормализовать базу данных в некоторой степени потому, что этот процесс имеет ряд существенных преимуществ с точки зрения эффективности и удобства обращения с вашей базой данных.
Что такое внешний ключ
Внешний ключ используется для ссылки на другую таблицу. Он также называется ссылочным ключом. Это столбец или комбинация столбцов, которые соответствуют первичному ключу в другой таблице. Другими словами, внешний ключ в таблице является первичным ключом некоторой другой таблицы.
Рисунок 1: Первичный и Внешний ключ
Например, предположим, что есть база данных продаж. Имеются таблицы клиентов и продуктов. Таблица customer содержит столбцы customer_id, name, address и contact_no. Первичный ключ таблицы клиента — customer_id. Товар имеет столбцы product_id, name, quality. Первичный ключ таблицы продукта — product_id. Размещение product_id в таблице клиентов создаст связь между двумя таблицами. Product_id в таблице product является первичным ключом, но это внешний ключ в customer_table. Аналогично, можно соединять таблицы в базе данных, используя внешний ключ.
Первичные ключи
За первичный ключ принимается суррогатный ключ или один из естественных ключей. Первичным ключом предпочтительно должен быть несоставной ключ или ключ, составленный из минимального числа атрибутов. Не стоит также применять ключи, которые имеют длинные текстовые значения (лучше применять целочисленные атрибуты).
Например, чтобы идентифицировать студента можно применять или уникальный номер зачетной книжки, или набор атрибутов (фамилия, имя, отчество, номер группы). Возможно к набору атрибутов добавление дополнительных атрибутов, т.к. в группе может быть 2 студента с одинаковыми данными.
Первичный ключ стержневой сущности (атрибут, который участвует в первичном ключе) не должен принимать неопределенное значение.
Определение первичных ключей в SQL
Первичные ключи определены в помощью ограничения PRIMARY KEY. Синтаксис для добавления такого ограничения к существующей таблице определен в SQL: 2003 следующим образом:
ALTER TABLE <table identifier> ADD CONSTRAINT <constraint identifier> PRIMARY KEY ( <column name> {, <column name> }... )
Первичный ключ также можно указать непосредственно при создании таблицы. В стандарте SQL первичные ключи могут состоять из одного или нескольких столбцов. Каждый столбец, участвующий в первичном ключе, неявно определяется как NOT NULL
Обратите внимание, что некоторые СУБД требуют явной пометки столбцов первичного ключа как .
CREATE TABLE table_name ( ... )
Если первичный ключ состоит только из одного столбца, столбец можно пометить как таковой, используя следующий синтаксис:
CREATE TABLE table_name ( id_col INT PRIMARY KEY, col2 CHARACTER VARYING(20), ... )
Внешние ключи
- Если сущности А и В связывает сущность С, то она должна содержать внешние ключи, которые соответствуют первичным ключам сущностей А и В.
- Если сущность В характеризует сущность А, то она должна содержать внешний ключ, который соответствует первичному ключу сущности А.
Для каждого из внешних ключей нужно получить ответы на 3 вопроса:
1-й вопрос: может ли значение данного внешнего ключа быть неопределенным (NULL-значением)?
Например, при поставках такая ситуация невозможна – поставка неизвестного продукта или поставка, которая осуществляется неизвестным поставщиком, не имеет смысла. Но может существовать блюдо с неизвестным видом (горячее, суп и т.д.).
2-й вопрос: что должно произойти при УДАЛЕНИИ экземпляра сущности с первичным ключом, на который ссылается внешний ключ?
Например, если удаляется поставщик, осуществивший хотя бы одну поставку, существует 3 варианта, при которых поставка:
- КАСКАДИРУЕТСЯ – удаляются все поставки данного поставщика.
- ОГРАНИЧИВАЕТСЯ – удаляются только не осуществлявшие поставок поставщики. В противном случае удаление отклоняется.
- УСТАНАВЛИВАЕТСЯ – для всех поставок данного поставщика значение внешнего ключа устанавливается в NULL (неопределенное), а после данный поставщик удаляется. Подобная возможность, естественно, не может быть применена, если внешний ключ не может содержать неопределенных значений (NULL).
3-й вопрос – какая операция должна выполняться при ОБНОВЛЕНИИ первичного ключа сущности, на который ссылается внешний ключ?
Например, при попытке обновления номера поставщика, который выполнил хотя бы одну поставку возможны те же 3 варианта, что и при удалении:
- КАСКАДИРУЕТСЯ – обновляется также и внешний ключ в поставках данного поставщика.
- ОГРАНИЧИВАЕТСЯ – обновляются первичные ключи только не осуществлявших поставок поставщиков, в противном случае операция обновления отклоняется.
- УСТАНАВЛИВАЕТСЯ – для всех поставок поставщика, который обновляется, внешний ключ устанавливается в NULL-значение, а после выполняется обновление первичного ключа поставщика. Подобная возможность, естественно, не может быть применена, если внешний ключ не может содержать неопределенных значений (NULL).
Следовательно, каждый внешний ключ в проекте должен специфицироваться не только полем или комбинацией полей, которые составляют данный внешний ключ и сущностью, которую идентифицирует этот ключ, но также и ответами на вопросы (3 ограничения, относящиеся к данному внешнему ключу).
БД из трех таблиц
Сначала необходимо спроектировать структуру базы данных. Например, БД «Учеба».
В ней будет 3 таблицы с полями (полужирным начертанием выделены ключевые поля):
1. «Список курсантов» — №, фамилия, имя, день рождения, пол, улица, дом, кв, группа.
2. «Группы» — номер группы, название группы, преподаватель.
3. «Успеваемость» — код, фамилия, имя, любые 6 предметов.
Ключевые поля можно сделать тип счетчик или числовой.
Откройте новую базу данных Microsoft Access
Сохраните ее в своей папке с именем «Учеба».
Таблицы в ней создадим в режиме Конструктор.
Таблицы заполните произвольными 20 строками в режиме таблицы.
Создадим схему базы данных для данных таблиц во вкладке Работа с базами данных.
Чтобы создать схему данных, надо поочередно выбрать таблицы и протянуть связи левой кнопкой мыши от одной таблицы к другой. В открывшемся окне нажать Ок, поставив галочки в полях таблички.
Таблицы «Группы» и «Список учеников» связать связью «один-ко-многим», а таблицы «Список учеников» и «Успеваемость» — связью «один-к-одному». Таблицы «Группы» и «Успеваемость» напрямую не связаны.
Задание.
Запрос выполняется на вкладке Создание. Выполнить запрос для выделения учащихся (их группу и преподавателей), у которых одновременно экзаменационный балл по химии меньше 75 и больше 50, а по информатике балл меньше 80 и больше 60. Предоставь результат для проверки.