- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Обработка баз данных на Visual Basic®.NET - Джеффри Мак-Манус
Шрифт:
Интервал:
Закладка:
6. После этого на экране появится диалоговое окно Property Pages (Страницы свойств) со вкладкой Indexes/Keys. Выберите вкладку Tables (Таблицы) со свойствами таблицы.
7. В списке Table Identity Column (Поле таблицы с идентификаторами) выберите поле ID.
8. Щелкните на кнопке Close (Закрыть).
РИС. 1.2. Создание определения таблицы с помощью Visual Studio .NET
9. Выберите команду меню File→Save Table1 (Файл→Сохранить таблицу Table1). В диалоговом окне Choose Name (Выбрать имя) введите имя tblCustomer и щелкните на кнопке OK. Обратите внимание, что после сохранения таблицы ее имя появится в списке таблиц базы данных Novelty в окне компонента Server Explorer.
Определение индексов и первичного ключа
Теперь, когда вы создали базовую таблицу, осталось определить индексы. Индекс (index) - это атрибут, который можно присвоить полю, чтобы облегчить для процессора баз данных выборку данных на основе информации, хранимой в этом поле. Например, в базе данных, содержащей сведения о сотрудниках, вероятно, будет реализована функция поиска клиента по фамилии, отделу или идентификационному номеру. Поэтому для каждого из этих полей имеет смысл создать индексы, чтобы ускорить процесс выборки записей на их основе.
Если вы поняли, какая польза от применения индексов в структуре базы данных, у вас может возникнуть вопрос: если наличие индексов значительно ускоряет поиск, почему бы не создать индексы для каждого поля каждой таблицы? Ответ прост: индексы — это не только плюс, но и минус. При увеличении количества индексов физически увеличивается размер базы данных, а значит, и объем занимаемой памяти и дискового пространства, в результате чего компьютер работает медленнее. В этом случае польза от применения индексов сводится к нулю. Не существует жесткого правила насчет оптимального количества индексов для каждой таблицы, но основная рекомендация состоит в создании индексов только по таким полям, которые, по вашему мнению, будут чаще всего использованы в запросах. (За дополнительной информацией о том, как использовать содержимое поля в качестве критерия запроса для выборки наборов записей, обращайтесь к главе 2, "Запросы и команды на языке SQL".)
Первичный ключ (primary key) – это специальный тип индекса. Поле, которое определено в качестве первичного ключа таблицы, служит для уникальной идентификации записей. Поэтому, в отличие от других типов индексов, никакие две записи в одной и той же таблице не могут иметь одинакового значения в поле их первичного ключа. Кроме того, при определении поля в качестве первичного ключа никакие две записи в этом поле не могут содержать пустое или неопределенное значение (null). Определив некоторое поле таблицы как первичный ключ, вы можете создать в своей базе данных отношения между этой и другими таблицами.
Каждая создаваемая вами таблица должна иметь по крайней мере один первичный ключ и должна быть проиндексирована по тем полям, которые чаще всего будут участвовать в запросах. В случае с таблицей tbl:, как и с многими другими таблицами баз данных, первичный ключ создается по полю ID. (В предыдущем разделе это поле уже было определено как первичное.) Вторичными индексами могут быть поля FirstName и LastName.
Попробуем создать еще два индекса для полей FirstName и LastName, для этого выполните перечисленные ниже действия.
1. Щелкните правой кнопкой мыши на окне с определением таблицы tblCustomer в окне компонента Server Explorer и выберите в контекстном меню команду Indexes/Keys.
2. После этого на экране появится страница свойств со списком существующих индексов, в котором уже присутствует индекс первичного ключа PK_tblCustomer. Щелкните на кнопке New (Создать) для создания нового индекса для поля FirstName.
3. В списке полей выберите поле FirstName, как показано на рис. 1.3, а затем щелкните на кнопке Close.
4. Повторите действия из пп. 1-3, чтобы создать индекс для поля FirstName.
ВНИМАНИЕ!В нижней части диалогового окна Property Pages находится параметр Create UNIQUE (Создать уникальный индекс). Не устанавливайте флажок для этого параметра, потому что в таком случае в таблицу можно будет вводить только разные имена клиентов! Уникальные индексы следует создавать только для того, чтобы гарантировать уникальность значений данного поля.
РИС. 1.3. Диалоговое окно Property Pages после определения индекса для поля FirstName
5. Для сохранения внесенных изменений в базу данных выберите команду меню File→Save tblCustomer (Файл→Сохранить таблицу tblCustomer). После успешного сохранения внесенных изменений закройте окно создания схемы базы данных Visual Studio .NET.
Создав структуру данных для таблицы, можно приступить к вводу данных в нее. В окне Server Explorer предусмотрены удобные средства ввода данных в таблицу. Для этого нужно щелкнуть правой кнопкой мыши на таблице в окне Server Explorer и выбрать из контекстного меню команду Retrieve Data from Table (Извлечь данные из таблицы). В результате в окне Server Explorer появится сетка с полями ввода данных (рис. 1.4).
Данные вводятся непосредственно в каждую ячейку сетки, а при переходе к следующей строке данные из предыдущей строки сохраняются в базе данных. Учтите, что в поле данные можно не вводить – они будут вводиться в него автоматически, поскольку оно было создано как поле с идентификаторами. Процессор базы данных автоматически будет заполнять это поле значениями при переходе к следующей строке сетки.
Получив эти базовые знания о создании таблицы с помощью Visual Studio .NET, вы сможете создавать базы данных практически любого вида. Однако для создания сложных баз данных с несколькими таблицами часто требуется установить отношения (связи) между ними. Чтобы упростить эту задачу, используется схема базы данных.
Создание схемы базы данных
Схема базы данных (database diagram) – это визуальное представление таблиц в базе данных. Для создания таблиц и отношений между ними можно использовать инструменты создания схемы баз данных, которые предусмотрены в SQL Server. А для создания схемы баз данных с помощью окна Server Explorer среды Visual Studio .NET выполните перечисленные ниже действия.
РИС. 1.4. Ввод данных в таблицу с помощью команды контекстного меню Retrieve Data from Table
1. Разверните узел базы данных Novelty в окне Server Explorer, щелкните правой кнопкой мыши на узле Database Diagrams и выберите в контекстном меню команду New Diagram (Создать схему).
2. В диалоговом окне Add Table (Добавить таблицу) будет приведен список таблиц базы данных. Выберите созданную ранее таблицу tblCustomer, щелкните на кнопке Add (Добавить), а затем на кнопке Close.
3. В результате будет создана новая схема базы данных с таблицей tblCustomer (рис. 1.5).
4. Для добавления второй таблицы в эту схему щелкните правой кнопкой мыши на пустом пространстве возле таблицы tblCustomer и выберите в контекстном меню команду New Table (Создать таблицу).
5. На экране появится диалоговое окно Choose Name, в которое следует ввести имя новой таблицы tblOrder.
6. После этого в окне схемы появится сетка для определения полей новой таблицы. Создайте в ней поля, показанные на рис. 1.6.
7. Выберите команду меню File→Save для сохранения схемы базы данных, и на экране появится диалоговое окно с просьбой подтвердить создание новой таблицы. Щелкните на кнопке Yes, и в окне Server Explorer появится вновь созданная таблица.
РИС. 1.5. Схема базы данных Novelty, которая содержит все таблицы, выбранные в диалоговом окне Add Table
РИС. 1.6. Схема базы данных Novelty, которая содержит все таблицы, выбранные в диалоговом окне Add Table
После создания таблиц для клиентов и заказов следует установить связь (отношение) между ними. Например, при создании заказа идентификатор клиента ID из таблицы tblCustomer копируется из записи клиента в поле CustomerID таблицы tblOrder. Для указания этого отношения между таблицами на схеме базы данных выполните перечисленные ниже действия.
1. Щелкните на поле ID в таблице tblCustomer и перетащите его к полю CustomerID таблицы tblOrder.
2. На экране появится диалоговое окно Create Relationship (Создать отношение), в котором можно указать свойства отношения между двумя таблицами. После этого уже нельзя создавать заказы для клиентов с идентификаторами, которых нет в таблице клиентов. Это ограничение имеет большое практическое значение и потому с ним следует согласиться.
3. Схема базы данных обновляется для отражения нового отношения, как показано на рис. 1.7.
РИС. 1.7. Схема базы данных с обозначением отношения между табл tblCustomer и tblOrder
Для сохранения созданной схемы базы данных DatabaseDiagram1 выберите команду File→Save DatabaseDiagram1. В диалоговом окне Save New Database Diagram (Сохранить имя новой схемы базы данных) введите имя Relationships (Отношения) для новой схемы базы данных. При этом возможно появление диалогового окна с просьбой подтвердить создание новой таблицы. Щелкните на кнопке Yes для сохранения вновь созданной таблицы tblOrder.

