Таблицы баз данных внешне похожи на обычные таблицы, которые мы видим в книгах или можем создавать в программах-редакторах. Однако они имеют ряд особенностей и жестких ограничений, которые делают эти таблицы удобным инструментом хранения данных и последующей статистической обработки.
Отличие 1. Таблицы баз данных имеют строгую «сетчатую» структуру и не позволяют произвольно объединять или разделять ячейки.
Отличие 2. Таблица баз данных всегда имеет «шапку» - каждый столбец (поле) имеет свое имя (кстати, соответствующее исследуемому параметру). Имена полей в одной и той же таблице НЕ МОГУТ ПОВТОРЯТЬСЯ, т.е. должны быть уникальными! В разных таблицах имена столбцов полей можно делать одинаковыми. Шапка таблицы всегда занимает ТОЛЬКО ОДНУ самую верхнюю строку. В остальных строках (записях) хранятся сами данные.
Отличие 3. Никакая строка (запись) таблицы базы данных не может быть полностью пустой. Хотя бы одна ячейка в каждой записи должна быть заполнена!
Отличие 4. Данные в каждой ячейке должны быть атомарными, т.е. трактоваться однозначно.
Пример. Вы хотите хранить в таблице базы данных артериальное давление. Оно состоит из 2 чисел – верхнего и нижнего давления. Будет неправильно, если Вы поместите в ячейку столбца выражения типа «120/80»:
Фамилия | АД |
Иванов | 120/80 |
Петров | 130/85 |
Сидоров | 140/90 |
Вместо этого вы должны создать ДВА поля и каждый показатель хранить отдельно:
Фамилия | Верхнее АД | Нижнее АД |
Иванов | ||
Петров | ||
Сидоров |
Понятие «набор данных»
Набор данных – это вся таблица или ее часть, выделенная по заданным критериям.
Статистические операции всегда проводятся над одним или несколькими наборами данных, поэтому очень важно понимать, что такое набор данных и как его получить из таблицы. Уже сказано, что в простейшем случае набор данных – это и есть вся таблица целиком.
|
Типы данных
Тип 1. Числовой.
Информация, представленная числами. Этот тип подразделяется на несколько подтипов.
Тип 1.1. Число с “плавающей точкой” (Непрерывный).
Один из самых распространенных типов данных. Данные такого типа могут принимать любые значения, дробные или целые. Чаще всего они положительны, но могут быть и отрицательными. Как правило, данные такого вида располагаются на каком-либо интервале с нечеткими границами (не установлены точно минимальное и максимальное значение, которые может принимать параметр). Примером может послужить большинство данных лабораторных анализов, температура больного и т.п.
Примеры представления данных:
Температура тела, градусы 36,6
Сахар крови, ммоль/л 4,0
Тип 1.2. Целое число (целый дискретный).
Числовые данные, выражающиеся только целым числом без дробной части. В большинстве случаев имеется ограничение на знак числа (только положительные числа).
Примеры представления данных:
Возраст, лет 37
Верхнее артериальное давление, мм рт. столба 155
Следует отметить, что один и тот же параметр может, в зависимости от необходимости, быть представлен как числом с плавающей точкой, так и целым числом. Например, возраст у взрослых людей в большинстве случаев нет необходимости представлять числом с плавающей точкой. Однако у маленьких детей, где важны не только годы, но и дни, такой тип представления может понадобиться.
|
Резюме: По поводу каждого числового параметра необходимо подумать и определиться, нужна ли у его значений дробная часть. Если да, то устанавливается тип данных “Число с плавающей точкой”, если нет, проще установить тип “Целое число”.
В анкете вопросы, ответы на которые представляются числами, выглядят примерно так:
Температура тела при поступлении в стационар _____
Тип 1.3. Вариантный (дискретный, номинальный).
Один из наиболее сложных типов данных, требующих продуманного представления. Информация при этом представлена в виде одного и только одного варианта из заранее известного и ограниченного набора вариантов и не может принимать вид дробного числа. Простейшим примеров может служить пол человека - мужской или женский. Такая информация требует численного кодирования. Обычно кодировка начинается с нуля (1-й вариант). Следует заметить, что собственно кодирование будет осуществляться только на этапе ввода информации в компьютер. Нет никакой необходимости кодировать данные при составлении и заполнении анкет – кодирование лишь следует иметь в виду на будущее!
Однако далеко не всегда можно сделать такое простое и произвольное кодирование. Подтип “Вариант” по способу кодирования подразделяется еще на 3 подтипа.
Тип 1.3.1. Неупорядоченные варианты
К нему относится приведенный пример с полом человека. Их можно располагать (имеется в виду порядок следования вариантов) произвольным способом. Часто к этому типу относятся данные, представляемые всего двумя вариантами (острое или хроническое заболевание, консервативное или оперативное лечение и т.д.).
|
Тип 1.3.2. Упорядоченные варианты.
Такие данные находятся в определенных взаимосвязях друг с другом, которые могут быть выражены отношениями типа "больше", "меньше". Примером может служить степень тяжести заболевания (I,II,III). В таком случае варианты располагаются в определенном порядке - как правило, возрастания или убывания. Часто, например, возраст (тип “Целое число”) представляют как тип “Упорядоченные варианты”, разбивая диапазон значений на возрастные группы, например: Вариант 1 - 20-29 лет, Вариант 2 - 30-39 лет и т.д. С точки зрения обработки информации могут потребоваться оба типа кодировки возраста: для корреляционного анализа, например, нужно использовать реальные числа возраста, а для сравнения других параметров в разных возрастных группах нужно использовать тип “Упорядоченные варианты”. Но в любом случае, в анкете нужно устанавливать тип, который позволяет получать более подробную информацию.
Тип 1.3.3. Частично упорядоченные варианты.
Способ упорядочивания не очевиден, однако его можно найти, если это необходимо для решения задачи. Например, в городе несколько районов. Их количество заранее известно, и необходимо закодировать их. Простейший способ - использовать тип “Неупорядоченные варианты”. Однако при кодировке можно расположить районы, например, по степени загрязненности. Тогда номер района (место в списке вариантов) будет косвенно отражать эту степень, и такая кодировка может выявить при статистической обработке какие-либо закономерности и взаимосвязи с другими данными.
Примеры представления данных:
Выберите степень тяжести заболевания:
• Нет заболевания
• 1 степень
• 2 степень
• 3 степень
Тип 1.3.4. Логический тип.
Отдельно выделяемый тип данных, представляющий два варианта “Нет” (кодируется нулем) и “Да” (кодируется единицей). Многие данные можно привести к этому типу.
Очень часто данные могут быть представлены вариантами, имеющими множественный выбор. Это означает, что из набора вариантов могут быть выбраны один, два или более вариантов. Например, вопрос анкеты: “Какими заболеваниями болел в детстве?”. Можно привести список заболеваний для выбора:
1. Корь
2. Скарлатина
3. Паротит
4. Ветряная оспа
Очевидно, что человек мог не болеть ни одним из них, мог болеть одним, двумя, тремя или всеми. Необходимо понимать, что тип “Варианты” для приведенного вопроса анкеты в таком виде неприменим. Как же поступить? Выход очень прост. Необходимо сделать из одного параметра “Какими заболеваниями болел в детстве” несколько параметров логического типа (по числу вариантов). При этом в анкете вопрос может выглядеть так:
Примеры представления данных:
Какими заболеваниями болел в детстве?
нет/да Корь
нет/да Скарлатина
нет/да Паротит
нет/да Ветряная оспа
Тип 2. Временной (дата, время).
Очень часто данные содержат даты различных событий в жизни обследуемых. Если дата служит для комментария или имеет вспомогательный смысл, можно не беспокоиться. Однако, если необходима статистическая обработка этих данных, нужно подумать о корректном переводе типа “Дата” в тип “Число”. Для численного представления временных точек необходимо выбирать соответствующую точку отсчета и, отталкиваясь от нее, выражать временной интервал в удобных единицах (секунды, часы, сутки, годы). Например, если у больного указана дата возникновения какого-либо заболевания, можно перевести ее в возраст, который соответствовал этому событию. Сделав это для всех обследуемых, специалист приведет показатель к единой шкале. Если требуется другой подход, можно посчитать, сколько времени прошло с момента возникновения заболевания до момента настоящего обследования. В каждом случае предметный специалист должен выбрать способ представления, наиболее хорошо отражающий смысл параметра.
Представление параметра типа “Дата” в анкете:
Дата поступления в стационар ___ / __________ / _______ г.
Тип 3. Текстовый (строки длиной до 255 символов).
Это данные, которые невозможно представить числами, но можно выразить фразами, словами, причем заранее неизвестен точный набор таких слов или фраз. Такие данные не подвергаются статистической обработке, а используются в качестве комментариев, для идентификации единиц наблюдения или для поиска данных в базе. Классический пример - Фамилия, имя и отчество пациента.
В анкете такие вопросы представляются так:
Ф.И.О. больного _____________________________________
Необходимо помнить, что во многих компьютерных базах данных существует ограничение на длину фразы в этом типе данных: количество символов, включая пробелы, не должно быть более 255. Если предполагается, что текст в значениях параметра может быть длиннее и/или будет располагаться в несколько строк, необходимо использовать тип данных “Мемо” (ударение на первый слог).
Тип 4. Текстовый (МЕМО) – тексты длиной более 255 символов.
Тип «Мемо» служит для хранения больших текстов. Желательно не злоупотреблять большим количеством таких параметров при составлении анкеты. Этот тип данных так же, как и “Строка”, не поддается статистической обработке, кроме того, он занимает много места на диске компьютера и замедляет работу с базой данных.
Другие типы данных.
Подстановка - список значений, возвращаемых запросом или из таблицы, либо набор значений, указанных при создании поля. Поле подстановки можно создать с помощью мастера подстановок. Такое поле обычно имеет текстовый или числовой тип данных в зависимости от того, какие параметры были выбраны в мастере.
Гиперссылка - текст или сочетания текста и цифр, хранящиеся в виде текста и используемые в качестве адреса гиперссылки.
Вложение (или объект OLE) - изображения, файлы электронных таблиц, документы, диаграммы и файлы других поддерживаемых типов, прикрепленные к записям в базе данных (аналогично файлам, вложенным в сообщения электронной почты).
Счетчик - поле счетчика позволяет создавать уникальные значения, единственная цель которых — обеспечить уникальность каждой записи. Чаще всего поле счетчика используется в качестве первичного ключа, особенно при отсутствии подходящего естественного ключа (ключа, основанного поле данных).
Вопросы по теме занятия
1. Что такое база данных?
2. Что такое таблица базы данных?
3. Что такое запрос?
4. Что такое форма?
5. Что такое отчет?
6. Чему соответствуют строки и столбцы в таблице?
7. Как в таблице называются столбцы?
8. Чему в таблице соответствует единица наблюдения?
9. Может ли таблица не содержать ни одной записи?
10. Перечислите отличие баз данных от обычных таблиц?
11. Могут ли все ячейки записи в таблице быть пустыми?
12. Могут ли повторяться имена полей?
13. Могут ли в таблице присутствовать 2 одинаковые записи?
14. Что означает «атомарность» данных в ячейке. Приведите пример?
15. Что такое набор данных?
16. Какие типы данных вы знаете? Перечислите их.
17. Что такое числовой тип данных?
18. Что такое число с «плавающей точкой»? Примеры?
19. Что такое целое (дискретно) число? Примеры?
20. Что такое вариантный тип данных и связанное с ним численное кодирование?
21. Что такое «неупорядоченный вариант»?
22. Что такое «упорядоченный вариант»?
23. Что такое «частично упорядоченный вариант»?
24. Что такое логический тип данных?
25. Что такое временной тип данных?
26. Что такое строковый тип данных и когда он используется?
27. Что такое тип MEMO (текст)? Поддается ли он статистической обработке?
28. Как в таблице представлены параметры?
29. Приведите несколько примеров медицинских параметров различных типов?
9. Тестовые задания по теме с эталонами ответов.
1. MS ACCESS – ЭТО...
1. язык программирования
2. система управления базами данных
3. графический редактор
4. редактор для работы с электронными таблицами
5. текстовый редактор
2. ЗАПОЛНЕНИЕ ТАБЛИЦЫДАННЫМИ ОСУЩЕСТВЛЯЕТСЯ В РЕЖИМЕ:
1. таблицы
2. SQL запроса
3. конструктора
4. запроса
5. предварительного просмотра
3. ЗАПРОСЫПРЕДНАЗНАЧЕНЫДЛЯ...
1. удобного представления и ввода информации на экране
2. вывода данных на печать
3. хранения данных в базе данных
4. автоматического выполнения некоторых операций
5. выборки, поиска и сортировки данных
4. ПРИ РАБОТЕ С ТАБЛИЦЕЙ В РЕЖИМЕ ТАБЛИЦЫВОЗМОЖНЫСЛЕДУЮЩИЕ ДЕЙСТВИЯ:
1. добавление записи
2. установка условия назначения
3. установка значения по умолчанию
4. задание маски ввода
5. задание формата поля
5. РЕЖИМ КОНСТРУКТОРА НЕОБХОДИМ ДЛЯ:
1. заполнения таблицы записями
2. создания кнопочной формы
3. построения диаграмм
4. создания структуры таблицы
5. выполнения запросов
Эталоны ответов:
10. Ситуационные задачи по теме с эталонами ответов.
Задача №1:
Представлена база данных пациентов:
Фамилия пациента | Имя пациента | Отчество пациента | Год рождения |
Чернов | Александр | Андреевич | |
Петров | Иван | Кириллович | |
Черкашин | Антон | Анатольевич | |
Чернов | Александр | Андреевич |
В записях базы данных присутствуют однофамильцы.
1. Какое(ие) поле(я) нужно добавить к структуре базы данных для уникальной идентификации пациентов?
2. Какому типу данных будет соответствовать это(и) поле(я)?
Ответ к задаче №1:
1. В медицинской базе данных подобным полем может быть поле «Номер истории болезни» или «ID» (идентификационный номер).
2. Полю «Номер истории болезни» будет соответствовать числовой тип данных (длинное целое). Для уникальной идентификации записей полю необходимо назначить свойство «Ключевое».
Задача№2:
Дана структура таблицы «Список пациентов»:
Список пациентов | |||||
Код | ФИО пациента | Дата приёма | Код врача | Код диагноза | |
1. Создайте и заполните данными таблицу «Список пациентов».
2. Создайте и заполните таблицу «Список врачей»:
Список врачей | |||
Код | ФИО врача | Должность | № кабинета |
3. Свяжите полученные таблицы так, чтобы данные в столбце «Код врача» содержали ФИО врача, которые можно выбрать только из списка, а не вбивать вручную.
4. Создайте и заполните таблицу «Список болезней».
Список болезней | ||
Код | Название болезни | Сокращенное название болезни |
5. Свяжите таблицы «Список пациентов» и «Список болезней» таким образом, чтобы «Код диагноза» содержал название болезни, причём один врач может поставить в диагнозе несколько болезней.
Ответ к задаче №2:
1.
2.
3.
Откройте таблицу «Список пациентов» в режиме конструктора и для поля «Код врача» выберите тип данных «Мастер подстановок»:
Во вкладке «Схема данных» отобразите созданные таблицы и создайте связь «один-ко-многим»:
4.
5.
Откройте таблицу «Список пациентов» в режиме конструктора и для поля «Код диагноза» выберите тип данных «Мастер подстановок»:
Во вкладке «Схема данных» отобразите созданные таблицы и создайте связь «один-ко-многим» между полем «Код диагноза» и полем «Код» в таблице «Список болезней»:
В результате должны получить: