7-mavzu. Ma’lumotlar bazasi bilan ishlashning kengaytirilgan imkoniyatlari. Reja


Download 288 Kb.
bet4/5
Sana28.12.2022
Hajmi288 Kb.
#1020296
1   2   3   4   5
Bog'liq
7-мавзу (1)

Aniq bo’lmagan e’lon qilish
Ba'zi buyurtma jadvallari tashqi kalitni aniq belgilamasdan tuzilishi mumkin:
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
amount DOUBLE,
INDEX (customer_id) );

Kogda dannıe poluchayut zaprosom JOIN, Vı mojete ispolzovat stolbets kak vneshniy klyuch, xotya baza dannıx ne znaet o etix svyazyax.


Ma'lumotlar JOIN so'rovi bilan olinganida, siz ustunni tashqi kalit sifatida ishlatishingiz mumkin, garchi ma'lumotlar bazasi bu aloqalarni bilmaydi.
SELECT * FROM orders
JOIN customers USING(customer_id)


Bog’lanishlarni tasvirlash
V dannıy moment, moey lyubimoy programmoy dlya proektirovaniya baz dannıx i otobrajeniya svyazey yavlyaetsya MySQL Workbench.
MySQL MBBT ni loyihalash va bog’lanishlarni tasvirlash vositasi MySQL Workbench misolida ko’ramiz.

Ma'lumotlar bazasini loyihalagannan so'ng, uni SQL-ga eksport qilishingiz va serverda ishga tushirishingiz mumkin. Bu katta va murakkab ma'lumotlar bazalarini yaratishda juda foydali.



Jadvallarni nusxalash.

MySQL-da mavjud jadval asosida tezda yangi jadval yaratish va ushbu jadvalning barcha ma'lumotlarini uzatish mumkin.


Masalan, bizda auto jadvali mavjud.

CREATE TABLE `auto` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,


`name` CHAR(50) NOT NULL,`country` CHAR(50) NOT NULL,
`site` CHAR(255) NOT NULL,PRIMARY KEY (`id`),
UNIQUE INDEX `name` (`name`),INDEX `country` (`country`) )
COLLATE='utf8_general_ci'
ENGINE=InnoDB;

CREATE so’rovidan jadvalda 3 ta indeks (PRIMARY KEY id, UNIQUE INDEX name, INDEX country) mavjudligi ko’rinadi.


Jadvalga yozuvlar kiritamiz:
INSERT INTO `auto` (`id`, `name`, `country`, `site`) VALUES
(1, 'Mercedes-Benz', 'Germany', 'mercedes-benz.de'), (2, 'KIA', 'Korea', 'kia.ru'),
(3, 'Toyota', 'Japan', 'toyota-global.com');

auto jadvaliga asoslanib yangi car jadvalini yaratamiz, va unga barcha ma'lumotlarni uzatamiz. Buni amalga oshirishning MySQL ikkita usuli bor:


Nusxalashning birinchi usuli CREATE TABLE SELECT * FROM buyrug’i yordamida jadval yaratish.
Bu usulning asosiy kamchiligi — jadvalida jadvali indekslari bo’lmaydi.
Asosiy yutug’i — faqat bita so’rov.

Misoli
CREATE TABLE `car` SELECT * FROM `auto`;


CREATE TABLE LIKE i INSERT SELECT

Ikkinchi usul ikkita so'rovdan iborat, ammo ma'lumotlarni ham, indekslarni ham nusxa ko'chiradi.


Birinchi so'rov - bu jadval tuzilishining nusxasi.
Ikkinchisi - INSERT INTO SELECT orqali ma'lumotlarni uzatish.

Misoli
CREATE TABLE `car` LIKE `auto`;


INSERT INTO `car` SELECT * FROM `auto`;

Ikkala natijada ham car jadvali auto jadvali ma'lumotlarini o'z ichiga oladi:






Download 288 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling