2. Ma'lumotlar bazasini ishlab chiqish
2.1 Relyatsion ma'lumotlar bazasi tushunchalari va dizayni
Relyatsion ma'lumotlar bazasini loyihalashda biz ma'lumotlarni ular orasidagi munosabatlarga ega jadvallar shaklida tashkil qilamiz. Dorixona qidiruv tizimiga qo'yiladigan talablarni hisobga olgan holda, keling, quyidagi ob'ektlar bilan soddalashtirilgan ma'lumotlar bazasini loyihalashtiramiz:
1. Dorixonalar:
- Atributlar: "PharmacyID" (asosiy kalit), "Ism", "manzil", "Telefon"
2. Foydalanuvchilar:
- Atributlar: "UserID" (asosiy kalit), "Foydalanuvchi nomi", "Parol", "E-pochta"
3. Qidiruv tarixi:
- Atributlar: "SearchID" (asosiy kalit), "UserID" (xorijiy kalit), "SearchQuery", "Vaqt belgisi"
Ushbu dizayn "Foydalanuvchilar" va "Qidiruv tarixi" jadvallari o'rtasidagi munosabatlarni o'rnatadi va foydalanuvchi uchun maxsus qidiruvni kuzatish uchun asos yaratadi.
2.2 Ma'lumotlar bazasi va ma'lumotlar bazasi tuzilmasini joriy etish
MySQL-dan foydalanib, biz ma'lumotlar bazasi va jadvallarni yaratishimiz mumkin. Quyidagi SQL iboralarini faylga saqlang (masalan, `pharmacy_search.sql`) va ularni MySQL muhitingizda bajaring.
-- Create Database
CREATE DATABASE pharmacy_search;
USE pharmacy_search;
-- Create Pharmacies Table
CREATE TABLE Pharmacies (
PharmacyID INT PRIMARY KEY AUTO_INCREMENT,
Name VARCHAR(255) NOT NULL,
Address VARCHAR(255) NOT NULL,
Phone VARCHAR(20) NOT NULL
);
-- Create Users Table
CREATE TABLE Users (
UserID INT PRIMARY KEY AUTO_INCREMENT,
Username VARCHAR(50) NOT NULL,
Password VARCHAR(255) NOT NULL,
Email VARCHAR(100) NOT NULL
);
-- Create Search History Table
CREATE TABLE SearchHistory (
SearchID INT PRIMARY KEY AUTO_INCREMENT,
UserID INT,
SearchQuery VARCHAR(255) NOT NULL,
Timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (UserID) REFERENCES Users(UserID)
);
|
Bu skript `pharmacy_search` ma`lumotlar bazasini yaratadi va uchta jadvalni belgilaydi: `Dorixonalar`, `Foydalanuvchilar` va `SearchHistory`. Ushbu jadvallar orasidagi aloqalar asosiy va tashqi kalitlar yordamida o'rnatiladi.
Izoh: Bu soddalashtirilgan misol. Haqiqiy stsenariyda siz o'zingizning maxsus talablaringiz asosida ma'lumotlarni normallashtirish, indekslash va cheklovlar kabi qo'shimcha omillarni hisobga olishingiz kerak bo'lishi mumkin.
Ushbu skriptni bajarganingizdan so'ng, ma'lumotlar bazasi dorixona qidiruv tizimi tomonidan foydalanishga tayyor bo'ladi. Ilovangizning oʻzgaruvchan ehtiyojlari asosida tuzilmani sozlang va har qanday qoʻshimcha funksiya yoki obyektlarni oʻz ichiga kiriting.
|