Розробка бази даних за допомогою Visual С # Express

Середа Visual С # Express дуже добре оснащена для розробки і створення пріленій баз даних У ній є інструменти для проектування баз даних, управління зєднаннями та контролю доступу до даних

Visual С # Express дозволяє пряме інтегрування драйверів ADONET тільки для реляційних баз даних корпорації Microsoft Але це не означає, що не можна використовувати драйвери ADONET для інших баз даних Це можливо, але тільки за допомогою написання відповідного коду Якщо ж ви хочете скористатись інструментами графічного інтерфейсу для драйвера бази даних інший, ніж поставки Microsoft, то вам потрібно оновити середовище розробки до версії Visual Studio Для прикладів, розглянутих у цій главі, застосовується драйвер Microsoft SQL Server Compact Edition

Засоби підтримки баз даних на основі графічних інструментів можна тиснути до будь-якого типу проекту на мові С # Для прикладу цієї глави ми іспользм проект консольного застосування DatabaseConsoleEx

Створивши проект консольного додатка (дотримуючись процедури, описаної в розділі 1), ми можемо приступити до створення баз даних і додаванню таблиць в неї

У Visual С # Express додати базу даних як джерело даних, організаії підключення до бази даних і вибрати обєкти бази даних для включення до проекту можна за допомогою Data Source Configuration Wizard (Майстер конфігуріранія джерел даних) Для використання майстра виконаєте наступні кроки:

1 Щоб запустити майстер конфігурування, виберіть послідовність команд меню Data | Add New Data Source

2 Виберіть Database як джерело даних і натисніть кнопку Next

3 Відкриється вікно, що пропонує вибрати підключення до бази даних При вибе підключення до бази даних ми визначаємо настройки підключення до нашої реляційній базі даних Так як в цьому прикладі ми створюємо нову базу даих, натисніть кнопку New Connection

4 У діалоговому вікніAdd  Connection  введіть імя бази даних і пароль доступу до неї Для даного прикладу імя бази даних буде lottery, а пароль – lotto12 Visual С # Express автоматично додасть до імені файлу розширення sdf, вказуючи, що це файл SQL Server (рис 142) Натисніть кнопку ОК, щоб додати підключення

ПРИМІТКА

Якщо вибраний пароль коротше, ніж шість символів, не містить цифру і знак пунктуації, то буде виведено попередження про слабом паролі Це не запобігання-

обертає використання вибраного пароля, просто Visual С # Express радить вам використовувати сильний пароль Сильний пароль – це пароль, який важко угать Наприклад, якщо вашого домашнього улюбленця кликати Кеша, а марка машини – Opel, то сильний пароль можна створити, обєднавши ці два імені в КешаOpel

Рис 142 Додавання підключення до бази даних

5 Щоб переконатися, що підключення було створено, натисніть кнопку Test Connec- tion Якщо ви строго слідували інструкціям, то буде виведено повідомлення про успіх перевірки (У разі невдалої перевірки, створіть нову базу даних з новим імям файлу і паролем і знову виконайте перевірку підключення) Натисніть кнопку ОК

6 Знову буде виведено діалогове вікно Choose Your Data Connection, але з золненним полем підключення і відключеною кнопкоюNext  (Рис 143) Тепер необхідно розібратися з паролем для доступу до бази даних Нам пропонуються дві опції: написати код для передачі пароля підключенню або вставити пароль в рядок підключення Для промислового додатки Прилиньте вибором був би перший, щоб рядок підключення не містила вразливих даних, якими є пароль Але для нашого простого прикладу безпека не є найголовнішою турботою, тому спростимо собі немно роботу і виберемо опцію пароля, вставленого в рядок підключення Після цього стане доступною кнопка Next Натисніть її

7 Так як для прикладу використовується драйвер SQL Server Compact Edition, то буде виведено вікно (рис 144), що подає запит, чи слід скопіювати файл бази даних в проект Погоджуємося, натиснувши кнопку Yes

Рис 143 Вибір способу передачі пароля

Рис 144 Додавання файлу бази даних в проект

Рис 145 Вибір обєктів бази даних в Visual С # Express

8 Далі запитується, додати в проект конфігураційну інформацію додатки Теж погоджуємося, натискаючи кнопку Next

9 Виводиться вікно Choose Your Database Objects (Виберіть обєкт бази даих) Так як ми маємо справу з файлом SQL Server Compact Edition, який па не містить таблиць, у вікні пропонується тільки один обєкт Tables (на рис 145) Якби ми створювали підключення до вже існуючої реляціоой базі даних, то були б доступними інші обєкти бази даних Вибіте обєкт Tables і натисніть кнопку Finish

Після цього Visual С # Express перекомпілюються проект По завершенні Компільо, структура проекту повинна бути подібна показаної на рис 146

Рис 146 Модифікації, внесені до проекту середовищем Visual С # Express

Проект Visual С # Express містить посилання на файл, що надається сервером Microsoft SQL Server Compact Edition Як було показано на рис 141, сервер бази даних є просто процесом, доступ до якого виконується за допомогою бібліотеки клієнта Це справедливо приблизно в 80% випадків, але також існує клас серверів баз даних на основі файлів Цей тип баз даних іользуется в простіших додатках баз даних для одного користувача У нашому прикладі застосовується база даних на основі файлу Але з точки зору програмування нічого не змінюється і вихідного коду навіть не потрібно знати, чи є база даних файлом або серверним процесом

У середовищі Visual С # Express таблиці в базу даних можна додавати за допомогою Database Explorer Цей же інструмент застосовується і для модифікації всіх

обєктів даних, наявних в базі даних Далі наводиться послідовниками кроків для додавання таблиці до бази даних:

1 Клацніть правою кнопкою миші по файлу lotterysdf в Solution Explorer і вірите команду Open, щоб відкрити Database Explorer Database Explorer відображає інформацію про базу даних (рис 147)

2 Клацніть правою кнопкою миші по вузлу Tables і виберіть команду Create Table відкриється діалогове вікно New Table (Рис 148)

Рис 147 Перегляд структури бази даних в Database Explorer

Рис 148 Створення нової таблиці

3 Введіть імя таблиці, після чого вкажіть імя та тип для кожного стовпця таіци Можна також вказати іншу інформацію про стовпці, наприклад ширину або чи повинно зміст бути унікальним

Кожен стовпець таблиці повинен мати імя і тип Подібно С #, в базах даних також застосовуються типи Але ускладнює програмісту життя обставина, що типи бази даних схожі, але не точно такі ж, як в С # Якщо цього мало, то в різних видах баз даних типи злегка відрізняються один від одного На щастя, якщо у вас є інструменти Visual Studio, то спеціальний майстер співвіднесе тип бази даних з відповідним типом в С #

Для даного прикладу ми створимо три таблиці: draws (розіграші), person s (чи) і winners (виграли) У наступних розділах описуються стовпці і їх типи для кожної з цих таблиць Ми будемо працювати з типами даних Microsoft SQL Server

РАДА

Документація Visual Studio містить відмінну довідкову інформацію про різні тах даних та їх точності Див розд Data Typesв документації Microsoft SQL Server Books Online(http://msdn2microsoftcom/en-us/library/ms130214aspx)

Таблиця draws

Таблиця draws містить виграшні номери всіх розіграшів Імена стовпців для цієї таблиці і типи даних стовпців показані в табл 141

Таблиця 141Стовпці таблиціdraws

Імя

Тип

draw_dat e

datetim e

first_numbe r

in t

second_numbe r

in t

third_numbe r

in t

fourth_numbe r

in t

f i f th_numbe r

in t

s  ixth_numbe r

in t

bonu s

in t

У стовпці draw_date зберігається дата розіграшу Тип даних стовпця draw_date оголошений datetime, який подібний типом datetim e в NET Але, як було викладено в розділі 3, при співвідношенні типів необхідно дотримуватися обережності

Інші стовпці таблиці представляють номера розіграшу, включаючи бонусний номер Як і в С #, сервер SQL Server має різні числові типи Тип значиться, що зберігаються в шпальтах номерів розіграшів, оголошений як int

ПРИМІТКА

SQL Server має один числовий тип, для якого в NET немає відповідного типу Це тип numeric Даний тип подібний типом decima l в NET за винятком точнті Для типу numeri c можна вказувати кількість знаків до і після десяткового роздільника

Таблиця persons

У таблиці person s зберігається інформація про людей, які виграли лотерейні розриші Імена стовпців для цієї таблиці і типи даних стовпців показані в табл 142

Таблиця 142Стовпці таблиціpersons

Їм я

Тип

i d

u n i q u e i d e n t i f i e r

first_nam e

nvarchar(100 )

last_nam e

nvarchar(10 0

Проблемою реляційних баз даних є унікальна ідентифікація кожного запису Більшість баз даних для вирішення цієї проблеми використовують числа Але коли база даних містить мільйони записів, то число може не відповідати вимогам унікального ідентифікатора У такому випадку можна скористатися типом SQL Server uniqueidentifier, як зроблено для стовпця id таблиці persons

Тип стовпців first_nam e і last_name визначений як nvarcha r (100) Рядки в базі даних подібні числовим типам в тому, що вони мають граничний розмір У даом випадку тип nvarcha r (100) вказує рядок змінної довжини з максималь кількістю в 100 символів Для порівняння, застосування типу char (100) укивало б рядок постійної довжини в 100 символів, незалежно від того, скільки символів рядок містить в дійсності Якщо введений рядок містить меншу кількість символів, ніж відведений для неї місце в стовпці, то залишок поля за замовчуванням заповнюється пробілами

Таблиця winners

Таблиця winners служить для співвіднесення номерів розіграшу з власниками вгравшіх квитків Імена стовпців для цієї таблиці і типи даних стовпців паза в табл 143

Таблиця 143Стовпці таблиці winners

Їм я

Тип

i d

u n i q u e i d e n t i f i e r

draw_dat e

datetim e

Тип кожного шпальти відповідає типу однойменного стовпця в таблицях draws і persons Ідея полягає у використанні таблиці winners спільно з табло draws і persons, щоб створити список, який вказує, хто виграв у якому розіграші

Після створення все трьох таблиць структура бази даних повинна виглядати в Database Explorer так, як показано на рис 149

Рис 149 Структура бази даних після додавання в неї трьох таблиць

Тепер, коли у нас є таблиці в базі даних, подивимося, як виконувати прямий доступ до бази даних за допомогою ADONET

Джерело: Гросс К С # 2008: Пер з англ – СПб: БХВ-Петербург, 2009 – 576 е: ил – (Самовчитель)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*