68922

СУБД MySQL. Поля та їх типи

Лекция

Информатика, кибернетика и программирование

Програмне забезпечення яке управляє базою даних створює нові бази даних таблиці а також дозволяє використовувати вже створені об’єкти називається системою управління базою даних СУБД. Проте для написання нескладних сценаріїв роботи з базою даних приведеного матеріалу буде досить.

Украинкский

2014-09-27

77.5 KB

0 чел.

Лекція № 15

Тема: СУБД MySQL. Поля та їх типи.

План

  1.  Загальні положення
  2.  Базова термінологія
  3.  Поля та їх типи

База даних, таблиці запису

База даних — це сукупність зв'язаних двомірних таблиць, що містять певну інформацію. Програмне забезпечення, яке управляє базою даних (створює нові бази даних, таблиці, а також дозволяє використовувати вже створені об'єкти), називається системою управління базою даних (СУБД). Варто відразу ж обмовитися, що цей розділ не претендує на повноту інформації: СУБД MYSQL і мові SQL присвячені цілі томи, об'єми яких перевищують цю книгу. Проте для написання нескладних сценаріїв роботи з базою даних приведеного матеріалу буде досить.

Клієнтська і серверні частини MYSQL

Почнемо з клієнтської частини СУБД MYSQL. База даних в MYSQL — це звичайний каталог (зазвичай, це підкаталог каталога /var/lib/ mysql - в Linux або c:\mysql\data - в Windows). Таблиця фізично представляється файлами з розширеннями frm, MYD, MYI. Логічно — таблиця є сукупністю записів. У свою чергу, запис — це сукупність полий різного типу (тип полів може повторюватися). Ім'я бази даних унікальне в межах системи, таблиці — в межах бази даних, а поля — в межах таблиці.

Зручною програмою для проглядання структури бази даних є mysqlshow. Введіть наступну команду:

mysqlshow -p mysql

Ви побачите список таблиць, які знаходяться в базі даних mysql.

Програма mysqlshow може викликатися з додатковими параметрами.

Для самих же операцій з даними використовується програма mysql. Вона і є клієнтом сервера. У цій програмі можна використовувати ті ж опції, що і mysqlshow. Серед численних параметрів програма mysql має один дуже важливий параметр "-s". Я рекомендую вам завжди його використовувати. Цей параметр пригнічують більшість непотрібних повідомлень, що виводяться клієнтом. На повільних лініях зв'язку це повинно підвищити продуктивність. Та і спостерігати за всіма рамочками і непотрібними повідомленнями особливо не хочеться. Для підключення до серверу mysql необхідно запустити клієнт:

mysqlu rootp

де:

-u – опція вибору користувача

-p – опція вказування паролю

-h – опція вибору хоста.

Створити базу даних можна за допомогою програми mysqladmin. Природно, що використовувати цю програму може тільки адміністратор, наприклад:

mysqladmin -u admin -p create my_db

Як працює сервер SQL? Клієнт посилає запит, в якому він указує, яку інформацію він хоче отримати від сервера, або яку операцію з даними він хоче виконати, сервер посилає клієнтові відповідь, в якій указується, чи виконав сервер запит клієнта, і, якщо сервер виконав запит, результат запиту.

Мова SQL

Для опису запитів клієнта була розроблена ціла мова — SQL (Structured Query Language — структурована мова запитів). За допомогою запитів SQL ви можете:

Створювати бази даних і таблиці.

Додавати інформацію в таблиці.

Видаляти інформацію.

Модифікувати інформацію.

Отримувати потрібні вам дані.

Природно, користувач admin, крім того, що повинен існувати, повинен володіти відповідними правами. Кожен запит MYSQL повинен закінчуватися крапкою з комою. Якщо ви введете
SELECT * FROM test клієнт mysql чекатиме введення крапки з комою:

->

Базова термінологія

Якщо ви раніше працювали з якою-небудь СУБД (Система Управління Базою Даних), ви сміливо можете пропустити цей пункт — нічого нового для себе ви не прочитаєте. Але якщо ви стикаєтеся з СУБД вперше, без основних термінів вам не обійтися.

Поле (field) — це базовий елемент даних в БД. Поле має ім'я і тип. Наприклад, поле Tovar_No і позначаюча кількість товару, швидше за все, буде цілим. Докладніше про типи полий ми поговоримо трохи пізніше.

Запис (record) — це набір полий, що містять зв'язану інформацію. Наприклад, запис з полями C_No, C_Name і C_Address містить інформацію про клієнта — його номер, ім'я і адреса.

Таблиця (table) — це набір записів однієї структури полий. Якщо у нас є запис структури C_No, C_Name, C_Address, то всі записи в таблиці Clients матимуть такуюструктуру.

База даних (database) — це сукупність зв'язаних таблиць. Наприклад, в одній таблиці може зберігатися інформація про клієнта, а в іншій — інформація про замовлення, яке зробило клієнт, і т.д.

Індекс (index) — використовується для швидкого пошуку потрібного запису в базі даних. Зазвичай пошук проводиться по значенню одного поля або по значенню декілька полий.

Первинний індекс (index) — управляє порядком відображення записів в таблиці. Поле первинною індексу повинно бути унікальним, тобто в одній таблиці не повинні бути два поля (по якому будувався первинних індекс) з одним і тим же значенням. У нашій таблиці clients, очевидно, первинний індекс повинен будуватися по полю c_No — по номеру клієнта, який повинен бути унікальний.

Вторинний індекс (secondary index) — на відміну від первинного індексу, може будуватися по декількох полях і необов'язково повинен бути унікальним. Вторинні індекси використовуються для скріплення таблиць (про це ми поговоримо пізніше).

Запит (query) — оператор, що вибирає записи і поля з однієї або декількох таблиць. При цьому вибирані записи і поля повинні відповідати умові, заданій оператором.

Індекси також називаються ключами. Відповідно, первинний індекс називається первинним ключем, а вторинний — вторинним ключем.

Поля та їх типи

Ми вже знаємо, що база даних з погляду MYSQL (і деяких інших СУБД) — це звичайний каталог, що містить бінарні файли певного формату — таблиці. Таблиці складаються із записів, а записи, у свою чергу, складаються з полів. Поле має два атрибути — ім'я і тип.

Тип поля може бути:

Цілим.

Дійсним..

Строковим.

Бінарним.

Дата і час.

Перерахування і множини.

Можливі типи даних, діапазони і описи представлені у відповідних таблицях.

Цілочисельні типи:

Тип

Діапазон

TINYINT

-128... +127

SMALLINT

-32768... +32767

MEDIUMINT

-8 388 608... +8 388 607

int

-2 147 483 648... -2 147 483 647

BIGINT

-9 223 372 036 854 775 808 ... ±9 223 372 036 854 775 807

Дійсні типи записуються у вигляді:

ТИП (ДОВЖИНА, ЗНАКИ) [UNSIGNED]

ДОВЖИНА — це кількість знакомісць, в яких буде розміщено все число при його передачі, а ЗНАКИ — це кількість знаків після десяткової крапки, які враховуватимуться. Якщо вказаний модифікатор UNSIGNED, знак числа враховуватися не буде.

Дійсні типи

Тип

Опис

FLOAT

Невелика точність

DOUBLE

Подвійна точність

REAL

Те ж, що і DOUBLE

DECIMAL

Дробове число, зберігається у вигляді рядка

NUMERIC

Те ж, що і DECIMAL

Будь-який рядок — це масив символів. При пошуку за допомогою оператора SELECT не враховується регістр символів: рядки "HELLO" і "HElLo" вважаються однаковими.

Можна набудувати базу даних на те, що автоматичне перекодувало символів — в цьому випадку в базі даних рядка зберігатимуться в одному кодуванні, а виводитися — в іншій.

В більшості випадків вас влаштує тип VARCHAR або просто CHAR, що дозволяє зберігати рядки, що містять до 255 символів. У дужках після типу указується довжина рядка:

VARCHAR(20);

CHAR(20);

Якщо ж 255 символів для вашого завдання — це дуже мало, можна використовувати інші типи, наприклад, TEXT.

Символьні типи

Тип

Опис

TINYTEXT

Максимальна довжина рядка — 255 символів

TEXT

Максимальна довжина рядка — 65535 символів (64 Кб)

MEDIUMTEXT

Максимальна довжина рядка — 16 777 215 символів

LONGTEXT

Максимальна довжина рядка — 4 294 967 295 символів

Бінарні дані також можна використовувати для зберігання тексту, але при пошуку враховуватиметься регістр символів. До того ж, будь-який текстовий тип можна перетворити на бінарний, вказавши модифікатор BINARY:

VARCHAR(20) BINARY;

Бінарні типи

Тип

Опис

TINYBLOB

Максимум

— 255 символів

BLOB

Максимум

— 65535 символів

MEDIUMBLOB

Максимум

- 16 777 215 символів

LONGBLOB

Максимум

— 4 294 967 295 символів

Примітка.

Бінарні дані не перекодують на льоту, якщо встановлена та, що перекодувала символів.

Дата та час

Тип

Опис

DATE

Дата у форматі ГГГГ-ММ-ДД

TIME

Час у форматі 44:MM:CC

TIMESTAMP

Дата і час у форматі timestamp, проте при відображенні воно виводиться у вигляді ГГГГММДДЧЧММСС

DATETIME

Дата і час у форматі ГГГГ-ММ-ДД 44:MM:CC

Інші типи даних MYSQL розглядати ми не будемо, оскільки їх використання в PHP недоцільно.


 

А также другие работы, которые могут Вас заинтересовать

65936. Технический паспорт объекта недвижимости. Бюро технической инвентаризации 67 KB
  Землеустройство оформление землеустроительной документации Услуга Результат проведения работ Кадастровые работы в отношении земельных участков: Включают полный цикл работ от полевых измерений до подачи в орган кадастрового учета необходимых документов...
65937. Строительный инвестиционный цикл 52 KB
  Иными словами это понятие строительства в широком смысле включающем изучение грунтов проектирование строительные работы и если это промышленный объект то и наладочные работы. С экономической точки зрения это период от начала финансирования строительства...
65938. Управление недвижимостью на оперативном уровне. Портфель недвижимости 36.05 KB
  Портфель недвижимости. Для разрешения вопроса рассмотрим преимущества передачи недвижимости в управление: Объект коммерческой недвижимости имеет целевое направление в виде определенного дохода размер которого должен покрыть сумму погашения капитальных и текущих затрат.
65939. Инвестиции в строительство 26.56 KB
  Все только и говорят что в нашей стране строительство переживает пик своего развития. Действительно достаточно взглянуть в окно и мы увидим что наш город это одна большая стройка: при одном взгляде кидается в глаза строительство сразу нескольких объектов.
65940. ПРОГНОСТИЧЕСКАЯ ФУНКИЯ СОЦИАЛЬНОЙ ФИЛОСОФИИ В ФОРМИРОВАНИИ НОВЫХ ЭЛЕМЕНТОВ В СТРУКТУРЕ ОБЩЕСТВЕННОГО СОЗНАНИЯ 34 KB
  Для более четкого и конкретного определения функций философии следует учесть дифференциацию форм социально-философской рефлексии. В наиболее общей форме эта дифференциация заключается в принципиальном отличии двух типов социальной философии...
65942. Экономические системы и их классификация 34.5 KB
  Производство служит базой особой сферы общества экономической. В процессе экономической деятельности возникают предприятия фирмы учреждения банки страховые организации формируются принципы хозяйствования которые закрепляются в законах государства хозяйственном механизме.
65943. СОВРЕМЕННАЯ ПЕДАГОГИКА И ЭКЗИСТЕНЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ 30.5 KB
  Безразличие ученика к учителю и вообще к педагогическому процессу является сегодня одной из самых острых проблем образования которая в свою очередь перерастает в еще более сложную проблему тотального безразличия человека в современном обществе безразличия к Другому и со стороны Другого.