какая наименьшая единица хранения данных в бд
Экспресс-подготовка к онлайн-тестированию:
для студентов дистанционного обучения, при устройстве на работу, прохождении аттестаций
Сдаешь тесты самостоятельно?
Закажи скайп-консультацию и узнай все секреты успешной сдачи экзаменов онлайн!
Базы данных Тесты с ответами ИММиФ Тема 1-4
Для быстрого поиска по странице нажмите Ctrl+F и в появившемся окошке напечатайте слово запроса (или первые буквы)
ТЕМА 1
Подсистема бухгалтерского учета относится к:
экономической подсистеме ИС
обеспечивающей подсистеме ИС
информационной подсистеме ИС
+функциональной подсистеме ИС
Предметная область – это:
БД, разработанная для решения конкретной задачи
модель «сущность – связь», отражающая заданную область внешнего мира
+часть реального мира, представляющая интерес для данного исследования
ER-диаграмма, отражающая заданную область внешнего мира
Программное обеспечение относится к:
информационной подсистеме ИС
функциональной подсистеме ИС
+обеспечивающей подсистеме ИС
экономической подсистеме ИС
Описание структуры единиц информации, хранящихся в БД, представляет собой:
логическую схему БД
модель «сущность – связь»
ТЕМА 2
Банк данных включает компоненты:
СУБД, базы данных, администрация банка данных, словарь данных, вычисли-тельная и операционная системы
базы данных и персонал банка данных
+базы данных, СУБД, вычислительная система, словарь данных, персонал банка данных
Банк данных – это:
+система баз данных и программных, технических, языковых, организационно-методических средств
система баз данных
специальные языковые и программные средства для создания баз данных
система программных, технических, языковых, организационно-методических средств
Для разработки и эксплуатации баз данных используются:
+системы управления базами данных
системы автоматизированного проектирования
Какой компонент банка данных является его ядром?
Словарь данных – это:
централизованное хранилище полей БД
централизованное хранилище языковых средств БД
централизованное хранилище данных
+централизованное хранилище метаинформации
СУБД – это:
+специальный программный комплекс для обеспечения доступа к данным и управления ими
система средств архивирования и резервного копирования банка данных
система средств администрирования банка данных
система средств управления транзакциями
Транзакция – это:
+последовательность операторов манипулирования данными
операция модификации данных
средство защиты от несанкционированного доступа
запись в журнале о сбое в работе БД
ТЕМА 3
Визуальная система – это система, в которой хранится:
+текстовая, графическая и видео информация
графическая и видео информация
Если в СУБД используется универсальный язык программирования, то она называется:
Если СУБД позволяет вычислять агрегированные показатели, то она называется:
Компьютерная база данных – это:
любой набор данных, хранящихся в компьютерной системе
+совокупность структурированных данных, описывающих какую-либо предметную область
произвольный набор файлов данных
Электронный словарь представляет собой:
ТЕМА 4
В какой модели данных основным элементом является таблица?
Деревья – это:
+нелинейные структуры данных
линейные структуры данных
структуры данных общего типа
способ представления неструктурированных данных
Запись – это:
+одна строка реляционной таблицы
строка заголовка реляционной таблицы
один столбец реляционной таблицы
Как исключить наличие повторяющихся записей в таблице?
проиндексировать поля таблицы
определить внешний ключ
упорядочить строки таблицы
+определить ключевое поле
Кардинальность – это:
количество первичных ключей в таблице
количество столбцов в таблице
количество значений в таблице
+количество строк в таблице
Могут ли в реляционной таблице присутствовать полностью идентичные записи?
могут, если таблица связана с другими таблицами базы данных
Первичный ключ – это:
атрибут, находящийся в левом столбце таблицы
первая запись таблицы
+атрибут, значение которого однозначно идентифицирует запись
Реляционная модель данных основана:
на древовидных структурах
на иерархических списках
Сетевые структуры – это:
структуры данных общего типа
линейные структуры данных
+нелинейные структуры данных
способ представления неструктурированных данных
Степень отношения – это:
количество значений в таблице
+количество столбцов в таблице
количество первичных ключей в таблице
количество строк в таблице
Какая наименьшая единица хранения данных в бд
Сможем ли мы определить ваш пол, узнав, что вы ненавидите?
Какое имя подходит вам по знаку зодиака
Тест, который осилят лишь настоящие профи в мировой географии
Сколько ты можешь выиграть в «Кто хочет стать миллионером?»
Тест: Узнайте что говорит дата рождения о вашей Личности
Сможем ли мы угадать ваш возраст, задав вам 5 вопросов?
А насколько хорошо натренирован ваш мозг?
Сможете ли вы пройти этот IQ тест без единой ошибки?
Если сможете закончить 13 крылатых фраз, то вы настоящий интеллигент
Если вы закончите представленные 15 фраз, то вы настоящий интеллектуал!
Если вы родом из СССР, то точно сможете закончить фразы тех времен на все 10 из 10
Тест на общие знания, который по зубам не каждому
Большой тест на интеллект: узнай свой процент знаний
Насколько хорошо вы знаете географию России?
Вы невероятно умны, если смогли пройти этот тест на 10 из 10
Главный тест на общие знания: насколько ты умён?
Тест по советским фильмам: Кто из актеров сказал эти известные всем слова?
Тест на эрудицию, который мы с треском завалили. Что насчет вас?
Вы гений, если пройдете этот тест.
Только те, кто росли в СССР, смогут без труда ответить на все вопросы нашего теста
Подписывайтесь на наши странички! Обязательно делитесь с друзьями! Впереди много новых интересных тестов! Ежедневные добавления! Страницы: Яндекс Дзен, ВКонтакте, Одноклассники, Facebook
Популярные тесты
Сможем ли мы определить ваш пол, узнав, что вы ненавидите?
Какое имя подходит вам по знаку зодиака
Тест, который осилят лишь настоящие профи в мировой географии
Сколько ты можешь выиграть в «Кто хочет стать миллионером?»
Тест: Узнайте что говорит дата рождения о вашей Личности
Сможем ли мы угадать ваш возраст, задав вам 5 вопросов?
А насколько хорошо натренирован ваш мозг?
Сможете ли вы пройти этот IQ тест без единой ошибки?
Если сможете закончить 13 крылатых фраз, то вы настоящий интеллигент
Если вы закончите представленные 15 фраз, то вы настоящий интеллектуал!
Если вы родом из СССР, то точно сможете закончить фразы тех времен на все 10 из 10
Тест на общие знания, который по зубам не каждому
Большой тест на интеллект: узнай свой процент знаний
Насколько хорошо вы знаете географию России?
Вы невероятно умны, если смогли пройти этот тест на 10 из 10
Главный тест на общие знания: насколько ты умён?
Тест по советским фильмам: Кто из актеров сказал эти известные всем слова?
Тест на эрудицию, который мы с треском завалили. Что насчет вас?
Вы гений, если пройдете этот тест.
Только те, кто росли в СССР, смогут без труда ответить на все вопросы нашего теста
Преимущества
Можете встраивать тесты на Ваш сайт. Тест показывается нашем и других сайтах. Гибкие настройки результатов. Возможность поделиться тестом и результатами. Лавинообразный («вирусный») трафик на тест. Русскоязычная аудитория. Без рекламы!
Пользователям
Вам захотелось отдохнуть? Или просто приятно провести время? Выбирайте и проходите онлайн-тесты, делитесь результатом с друзьями. Проверьте, смогут они пройти также как Вы, или может лучше?
Внимание! Наши тесты не претендуют на достоверность – не стоит относиться к ним слишком серьезно!
Тест по теме: «Базы данных»
Ищем педагогов в команду «Инфоурок»
Тест по теме: «Базы данных»
Базы данных (БД) – это:
— совокупность электронных таблиц и всего комплекса аппаратно – программных средств для их хранения; изменения и поиска информации; для взаимодействия с пользователем;
– организованная совокупность данных, предназначенная для длительного хранения во внешней памяти компьютера и постоянного применения;
– программное обеспечение, управляющее хранением и обработкой данных;
– настраиваемые диалоговые окна, сохраняемые в компьютере в виде объектов специального типа.
По характеру хранимой информации БД бывают:
Укажите системы управления БД:
Open Office.org Calc
Microsoft Power Point
Строка таблицы, содержащая набор значений свойств, в столбцах БД
Заголовок таблицы БД
Столбец таблицы, содержащий значения определённого свойства
Перечислите недостатки табличных БД:
Возможность видеть одновременно несколько записей
Содержит большое количество полей
Легко просматривать и редактировать данные
Кто определяет количество полей в БД?
И разработчик, и пользователь
Какие данные не могут быть ключом БД?
Логин эл. почты + пароль
Чем запрос отличается от фильтра?
Запрос является самостоятельным объектом БД
Запрос может быть простым и сложным
Закончите предложение: «Реляционная БД состоит из … »
СУБД находится на сервере, а БД – на компьютере пользователя
Тест по теме: «Базы данных»
Информационные системы ( ИС) – это:
— совокупность баз данных и всего комплекса аппаратно – программных средств для их хранения; изменения и поиска информации; для взаимодействия с пользователем;
– упорядоченные наборы данных;
– программное обеспечение, предназначенное для работы с базами данных;
– важнейший инструмент для отбора данных на основании заданных условий.
По способу хранения данных БД бывают:
Укажите системы управления БД:
Open Office.org Base
Open Office.org Writer
Столбец таблицы, содержащий значения определённого свойства
Строка таблицы, содержащая набор значений свойств в полях БД
Заголовок таблицы БД
Возможность видеть одновременно несколько записей
Содержит большое количество полей
Легко просматривать и редактировать данные
Поля каких типов не может содержать БД?
Какие данные могут быть ключом БД?
Чем фильтр отличается от запроса?
Фильтр может быть простым и сложным
Фильтр привязан к конкретной таблице
Тест по теме: «Базы данных»
Системы управления базами данных – это:
– инструмент для печати данных, содержащихся в таблицах и запросах, в красиво оформленном виде;
– настраиваемые диалоговые окна, сохраняемые в компьютере в виде объектов специального типа;
— совокупность баз данных и всего комплекса аппаратно – программных средств для их хранения; изменения и поиска информации; для взаимодействия с пользователем;
– программа, позволяющая создавать базы данных, а также обеспечивающая обработку (сортировку) и поиск данных
По структуре организации данных БД бывают:
Укажите системы управления БД:
Open Office.org Calc
В табличных БД полем называются
Однородные данные обо всех объектах
Наборы данных об одном объекте
Заголовки таблицы БД
Возможность видеть только одну запись
Содержит большое количество полей
Легко просматривать и редактировать данные
Какое свойство не является свойством поля БД?
Какие данные не могут быть ключом БД?
Логин эл. почты + пароль
Что называют сортировкой данных в БД?
Отбор записей, удовлетворяющих условиям поиска
Вывод на печать упорядоченных записей
Упорядочение записей по значениям одного из полей
Закончите предложение: «Иерархическая БД имеет … структуру»
БД и СУБД находятся на одном компьютере
Тест по теме: «Базы данных»
Системы управления базами данных – это:
– важнейший инструмент для отбора данных на основании заданных условий;
– программа, позволяющая создавать базы данных, а также обеспечивающая обработку (сортировку) и поиск данных
– настраиваемые диалоговые окна, сохраняемые в компьютере в виде объектов специального типа;
— совокупность баз данных и всего комплекса аппаратно – программных средств для их хранения; изменения и поиска информации; для взаимодействия с пользователем;
По характеру хранимой информации БД бывают:
Укажите системы управления БД:
Open Office.org Impress
Open Office.org Base
В табличных БД запись содержит
Набор данных об одном объекте
Название базы данных
Однородные данные обо всех объектах
Перечислите достоинства табличных БД:
Возможность видеть одновременно несколько записей
Содержит большое количество полей
Сложно просматривать и редактировать данные
Какое свойство не является свойством поля БД?
Какие данные могут быть ключом БД?
Для чего предназначены отчёты в БД?
Для упорядочения записей в определённой последовательности
Для отбора записей, удовлетворяющим определённым условиям
Для печати данных, содержащихся в таблицах и запросах, в красиво оформленном виде
Закончите предложение: «Реляционная БД состоит из … »
Из одной или нескольких взаимосвязанных таблиц
Курс повышения квалификации
Дистанционное обучение как современный формат преподавания
Курс повышения квалификации
Современные педтехнологии в деятельности учителя
Курс профессиональной переподготовки
Математика и информатика: теория и методика преподавания в образовательной организации
Номер материала: ДБ-229042
Международная дистанционная олимпиада Осень 2021
Не нашли то что искали?
Вам будут интересны эти курсы:
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.
Рособрнадзор открыл горячую линию по вопросам контрольных в школах
Время чтения: 1 минута
Прослушивание музыки снижает усталость мозга
Время чтения: 1 минута
Российские педагоги чаще всего жалуются на излишнюю отчетность и низкую зарплату
Время чтения: 2 минуты
В школе в Пермском крае произошла стрельба
Время чтения: 1 минута
Минобрнауки разрешило вузам перейти на дистанционное обучение
Время чтения: 1 минута
Средняя зарплата учителей в Москве достигла 122 тыс. рублей
Время чтения: 1 минута
Подарочные сертификаты
Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако администрация сайта готова оказать всяческую поддержку в решении любых вопросов, связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.
Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.
Кр. ответы
3) поименованная совокупность структурированных данных, относящихся к определенной предметной области
Как классифицируют БД по технологии обработки данных?
3) на централизованные и распределенные
Что не относится к определению «файл-сервер»?
Наиболее распространенными в практике являются:
4) реляционные базы данных
Для чего предназначены формы?
3) для ввода данных базы и их просмотра
Наиболее точным аналогом реляционной базы данных может служить
4) двумерная таблица
Без каких объектов не может существовать база данных?
Модель данных, в которой каждый элемент может быть связан с любым другим элементом, а так же может быть и главным, и подчиненным по отношению к другим элементам
Что отвечает за безопасность данных в БД?
1) система управления базой данных
Какой из вариантов не является функцией СУБД?
2) координация проектирования, реализации и ведения БД
Каковы достоинства файл-серверных информационных систем?
2) основную работу выполняет сервер
4) элементарная единица логической организации данных, которая соответствует неделимой единице информации
Назовите основные модели данных
Что такое нормализация отношений?
2) это разбиение таблицы на две или более, обладающие лучшими свойствами при включении, изменении и удалении данных
4) формальный аппарат ограничений на формирование отношений
Назовите типы связей информационных объектов
6) многие ко многим
Что означает связь один к одному?
3) одному экземпляру информационного объекта А соответствует не более одного экземпляра информационного объекта В и наоборот
Назовите уровни представления данных БД
2) Концептуальный уровень
4) Внутренний уровень
Опишите концептуальный уровень представления данных БД
2) соответствует логическому аспекту представления данных предметной области в интегрированном виде
3) предназначена для оптимизации пользовательского ввода и просмотра данных в таблицах или запросах
Что не относится к объектам MS Access?
Какого типа данных в МS Access не существует?
Что такое модель данных?
2) совокупность структур данных и операций их обработки
Назовите функции SQL
1) интерактивный язык запросов
2) язык администрирования БД
3) язык программирования БД
5) язык создания приложений клиент/сервер и программа для персональных компьютеров
Сколько уровней представления данных БД?
Какие существуют способы создания таблиц?
Что такое структурирование?
2) введение соглашений о способах представления данных
Что не относится к определению «система управления базами данных»?
3) операционная система для работы с базой данных
Как классифицируют БД по способу доступа к данным?
5) на файл-сервер и клиент-сервер
Что такое клиент-сервер?
2) сервер базы данных обеспечивает выполнение основного объема обработки данных
Для чего предназначены запросы?
2) для отбора и обработки данных базы
Наиболее точным аналогом иерархической базы данных может служить:
3) генеалогическое дерево
Какая наименьшая единица хранения данных в БД?
Какое из приведенных высказываний о внешних ключах ложно?
5) все высказывания истинны
Перечислите преимущества централизованного подхода к хранению и управлению данными
1) сокращение избыточности
2) сокращение противоречивости
3) возможность общего доступа к данным
4) поддержка целостности данных
Что такое транзакция в теории БД (выберите наиболее подходящий и полный ответ)?
4) Некоторое действие над базой данных, которое переводит БД из одного непротиворечивого состояния в другое
Каковы основные особенности сетевой базы данных?
3) набор узлов, в котором каждый может быть связан с каждым
Сколько типов отношений существует между таблицами?
3) совокупность логически связанных полей
Что такое файл (таблица)?
2) совокупность экземпляров записей одной структуры
Что такое информационный объект?
2) описание некоторой сущности в виде совокупности логически связанных реквизитов
Что означает связь один ко многим?
5) одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В, но каждый экземпляр объекта В связан не более чем с 1 экземпляром объекта А
Что означает связь многие ко многим?
4) одному экземпляру информационного объекта А соответствует 0, 1 или более экземпляров объекта В и наоборот
Опишите внешний уровень представления данных БД
3) поддерживает частные представления данных, требуемые конкретным пользователям
Опишите внутренний уровень представления данных БД
2) отображает требуемую организацию данных в среде хранения и соответствует физическому аспекту представления данных
Назовите основные объекты MS Access
Что такое страница в MS Access?
2) это особый объект, выполненный в коде HTML, размещаемый на Web-странице и передаваемый клиенту вместе с ней
Сколько существует типов данных в МS Access?
Назовите уровни представления данных БД
В каком диалоговом окне устанавливают связи между таблицами?
Без каких объектов не может существовать база данных MS ACCESS?
Что такое База Данных (БД)
База данных — это место для хранения данных. Используется в том числе в клиент-серверной архитектуре. Это все интернет-магазины, сайты кинотеатров или авиабилетов. Вы делаете заказ, а система сохраняет ваши данные в базе.
В этот статье я на простых примерах расскажу, что такое база данных и как она выглядит. А потом поясню некоторые термины из конкретной (реляционной) базы. Те, с которыми вы почти наверняка столкнетесь на работу.
Статья рассчитана на начинающих тестировщиков или аналитиков, то есть тех, кто будет работать с базой, но не на супер-глубоком уровне. Она для тех, кто только входит в мир ИТ, и многого не знает. Она объясняет, что это за звено в клиент-серверной архитектуре такое, и зачем оно нужно.
Содержание
Что такое база данных
База данных — хранилище, куда приложение складывает свои данные. Если приложение небольшое, отдельная база не нужна. Но потом это становится удобнее и выгоднее с точки зрения памяти.
Катя решила открыть свой магазинчик. Она нашла хорошую марку обуви, которую «днем с огнем» не сыскать в ее городе. Заказала оптовую партию и стала потихоньку распродавать через знакомых. Пришлось освободить половину шкафа под коробки, но вроде всё поместилось.
Обувь хорошая, в розницу заказывать в других местах невыгодно — и вот уже у Кати есть постоянные клиенты, которые приводят друзей. Как только какая-то пара заканчивается, Катя делает новый заказ.
Но покупатели хотят новинок, разных размеров. Да и самих покупателей становится все больше и больше. В шкаф коробки уже не влезают!
Теперь, если покупатель просит определенную пару, Катьке сложно её найти. Пока коробок было мало, она помнила наизусть, где что лежит. А теперь уже нет, да и все попытки организовать систему провалились. Места мало, да и детки любят с коробками поиграть.
Тогда Катька решила арендовать складское помещение. И вот теперь красота! Не надо теснить своих домашних, дома чисто и свободно! И на складе место есть, появилась система — тут босоножки, тут сапоги.
Чем больше объемы производства, тем больше нужно места. Если в начале пути склад не нужен, всё поместится дома, то потом это будет оправданно.
Тоже самое и в приложениях. Если приложение маленькое, то все данные можно хранить в памяти. Но учтите, что это память на вашем компьютере, вашем телефоне. И чем больше данных туда пихать, тем медленнее будет работать программа.
Место в памяти ограничено. Поэтому когда данных много, их нужно куда-то сложить. Можно писать в файлики, а можно сохранять информацию в базу данных (сокращенно БД). Выбор за вами. А точнее, за вашим разработчиком.
Как она выглядит
Да примерно как excel-табличка! Есть колонки с заголовками, и информация внутри:
Это называется реляционная база данных — набор таблиц, хранящихся в одном пространстве.
Что за пространство? Ну вот представьте, что вы храните все данные в excel. Можно запихать всю-всю-всю информацию в одну огро-о-о-о-мную таблицу, но это неудобно. Обычно табличек несколько: тут информация по клиентам, там по заказам, а тут по адресам. Эти таблицы удобно хранить в одном месте, поэтому кладем их в отдельную папочку:
Так вот пространство внутри базы данных — это та же самая папочка в винде. Место, куда мы сложили свои таблички, чтобы они все были в одном месте.
Пример базы Oracle
Цель та же — выделить отдельное место, чтобы у вас не была одна большая свалка:
заходишь в папку в винде → видишь файлики только из этой папки
заходишь в пространство → видишь только те таблицы, которые в нем есть
Хранение данных в виде табличек — это не единственно возможный вариант. Вот вам для примера запись из таблицы в системе Users. Там используется MongoDB база данных, она не реляционная. Поэтому вместо таблички «словно в excel» каждая запись хранится в виде объекта, вот так:
А еще есть файловые базы — когда у вас вся информация хранится в файликах. Да-да, простых текстовых файликах!
Почитать о разных видах баз данных можно в википедии. Я не буду в этой статье углубляться в эту тему, потому что моя задача — объяснить «что это вообще такое» для ребят, которые базу в глаза не видели. А на работе они скорее всего столкнутся именно с реляционной базой данных, поэтому о ней и речь.
Как получить информацию из базы
Нужно записать свой запрос в понятном для базы виде — на SQL. SQL (Structured Query Language) — язык общения с базой данных. В нем есть ключевые слова, которые помогут вам сделать выборку:
select — выбери мне такие-то колонки.
from — из такой-то таблицы базы.
where — такую-то информацию.
Например, я хочу получить информацию по клиенту «Назина Ольга». Составляю в уме ТЗ:
В дословном переводе:
Комментарии в Oracle/PLSQL — мой перевод остается работающим запросом, потому что я убрала «лишнее» в комментарии
Если бы у меня была не база данных, а простые excel-файлики, то же действие было бы:
Открыть файл с нужными данными (clients)
Поставить фильтр на колонку «ФИО» — «Назина Ольга».
То есть нам в любом случае надо знать название таблицы, где лежат данные, и название колонки, по которой фильтруем. Это не что-то страшное, что есть только в базе данных. Тоже самое есть в простом экселе.
Бывают запросы и сложнее — когда надо достать данные не из одной таблицы, а из разных. В базе это будет выглядеть даже лучше, чем в эксельке. В экселе вам нужно открыть 1-2-3 таблицы и смотреть в каждую. Неудобно.
А в базе данных вы внутри запроса SQL указываете, какие колонки из каких таблиц вам нужны. И результат запроса их отрисовывает. Скажем, мы хотим увидеть заказ, который сделал клиент, ФИО клиента, и его номер телефона. И всё это в разных таблицах! А мы написали запрос и увидели то, что нам надо:
id_order
order (таблица order)
fio (таблица client)
phone (таблица contacts)
И пусть в таблице клиентов у нас будет 30 колонок, а в таблице заказов 50, в результате выборки мы видим ровно 4 запрошенные. Удобно, ничего лишнего!
Конечно, написать такой запрос будет немного сложнее обычного селекта. Это уже select join, почитать о нем можно тут. И я рекомендую вам его изучить, потому что он входит в «базовое знание sql», которое требуется на собеседованиях.
Результаты выборки можно группировать, сортировать — это следующий уровень сложности. См раздел «статьи и книги по теме» для получения большей информации.
Как связать данные между собой
Вот например, у нас есть интернет-магазин по доставке пиццы. Так выглядит его база данных:
В таблице «client» лежат данные по клиентам: ФИО, пол, дата рождения и т.д.
last_name
first_name
birthdate
В таблице «orders» лежат данные по заказам. Что заказали (пиццу, суши, роллы), когда, насколько довольны доставкой?
order
addr
date
time
Роллы «Филадельфия» и «Канада»
Пицца 35 см, роллы комбо 1
Пицца с сосиками по краям
Комбо набор 3, обед №4
Но как понять, где чей был заказ? Сколько раз заказывал Вася, а сколько Алина?
Тут есть несколько вариантов:
1. Запихать все данные в одну таблицу: тут и заказы, и информация по клиентам. В целом удобно, открыл табличку и сразу видишь — ага, это Васин заказ, а это Машин.
Таблица все растет и растет, в итоге получается просто огромной! А когда данных много, легкость чтения пропадает, придется листать до нужной колонки.
Поиск будет работать медленнее. Чем меньше информации в таблице, тем быстрее поиск. Когда у нас много строк, количество колонок становится существенным.
Много дублей — один человек может сделать хоть сотню заказов. И вся информация по нему будет продублирована сто раз. Неоптимальненько!
Чтобы избежать дублей, таблицы принято разделять:
Новые объекты отдельно
Но надо при этом их как-то связать между собой, мы ведь всё еще хотим знать, чей конкретно был заказ. Для связи таблиц используется foreign key, внешний ключ.
Нам надо у заказа сделать отметку о клиенте. Значит, таблица «orders» будет ссылаться на таблицу «clients». Ключ можно поставить на любую колонку таблицы (в некоторых базах колонка должна быть уникальной, сначала её нужно такой указать). Какую бы выбрать?
Можно ссылаться на имя. А что, миленько, в таблице заказов будем сразу имя видеть! Но минуточку. А если у нас два клиента Ивана? Или три Маши? Десять Саш. Ну вы поняли =) И как тогда разобраться, где какой клиент? Не подходит!
Можно вешать foreign key на несколько колонок. Например, на фамилию + имя, или фамилию + имя + отчество. Но ведь и ФИО бывают неуникальные! Что тогда? Можно добавить в связку дату рождения. Тогда шанс ошибиться будет минимален, хотя и такие ребята существуют. И чем больше клиентов у вас будет, тем больше шанс встретить дубликат.
А можно не усложнять! Вместо того, чтобы делать внешний ключ на 10 колонок, лучше создать в таблице клиентов primary key, первичный ключ. Первичный ключ отвечает за то, чтобы каждое значение в поле было уникальным, никаких дублей. При попытке добавить в таблицу запись с неуникальным первичным ключом получаешь ошибку:
Здесь ключ — «id_order»
Вот на него и нужно ссылаться! Обычно таким ключом является ID, идентификатор записи. Его можно сделать автоинкрементальным — это значит, что он генерируется сам по алгоритму «прошлое значение + 1».
Например, у нас гостиница для котиков. Это когда хозяева едут в отпуск, а котика оставить не с кем — оставляем в гостинице!