sql >> Databáze >  >> RDS >> Mysql

Průvodce návrhem databáze pro systém řízení zásob v MySQL

Tento výukový program poskytuje úplné kroky k návrhu schématu databáze systému řízení zásob pro správu dodavatelů, prodejců, položek, skladu položek, nákupních objednávek a objednávek zákazníků.

Poznámky :Podniky v maloobchodě a výrobě běžně používají systémy zásob. Mezi případy široce rozšířeného použití v jiných odvětvích lze toto schéma databáze použít například pro správu zásob v nemocnicích ke zvýšení efektivity dodavatelských řetězců zdravotní péče a snížení plýtvání léky.

Diagram vztahů entit nebo návrh vizuální databáze je uveden níže.

Databáze správy zásob

Můžete také navštívit oblíbené výukové programy včetně Jak nainstalovat MySQL 8 na Ubuntu 20.04 LTS, Jak nainstalovat MySQL 8 na Windows, Jak nainstalovat MySQL Workbench na Ubuntu, Jak nainstalovat MySQL 8 s Workbenchem na Windows 10, Databáze RBAC v MySql, Databáze blogů v MySql, kvízová databáze v MySQL, databáze anket a průzkumů v MySQL, databáze nákupních košíků online v MySQL a naučte se základní SQL dotazy v MySQL.

Databáze zásob

Úplně prvním krokem je vytvoření databáze zásob. Lze jej vytvořit pomocí dotazu, jak je uvedeno níže.

CREATE SCHEMA `inventory` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

Použil jsem znakovou sadu utf8mb4 pro podporu široké škály znaků.

Tabulka uživatelů

V této části navrhneme Tabulku uživatelů k ukládání uživatelských informací. Uživatelé mohou spravovat své vlastní profily. Uživatelé také mohou používat aplikaci podle rolí, které jim byly přiděleny. Můžete se také podívat na výukový program Databáze RBAC v MySql a implementovat kompletní systém RBAC pro správu rolí a oprávnění. Níže je uveden popis všech sloupců tabulky uživatelů.

ID Jedinečné ID k identifikaci uživatele.
ID role Role uživatele. Může to být správce, dodavatel, prodejce a zákazník.
Křestní jméno Křestní jméno uživatele.
Prostřední jméno Prostřední jméno uživatele.
Příjmení Příjmení uživatele.
Mobil Číslo mobilního telefonu uživatele. Lze jej použít pro účely přihlášení a registrace.
E-mail E-mailová adresa uživatele. Lze jej použít pro účely přihlášení a registrace.
Hašování hesla Hash hash hesla vygenerovaný příslušným algoritmem. Musíme se vyhnout ukládání jednoduchých nebo šifrovaných hesel.
Registrováno na Tento sloupec lze použít k výpočtu životnosti uživatele s aplikací.
Poslední přihlášení Lze jej použít k identifikaci posledního přihlášení uživatele.
Úvod Stručné představení uživatele.
Profil Podrobnosti o uživateli.

Tabulka uživatelů s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`user` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`roleId` SMALLINT NOT NULL,
`firstName` VARCHAR(50) NULL DEFAULT NULL,
`middleName` VARCHAR(50) NULL DEFAULT NULL,
`lastName` VARCHAR(50) NULL DEFAULT NULL,
`username` VARCHAR(50) NULL DEFAULT NULL,
`mobile` VARCHAR(15) NULL,
`email` VARCHAR(50) NULL,
`passwordHash` VARCHAR(32) NOT NULL,
`registeredAt` DATETIME NOT NULL,
`lastLogin` DATETIME NULL DEFAULT NULL,
`intro` TINYTEXT NULL DEFAULT NULL,
`profile` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE INDEX `uq_username` (`username` ASC),
UNIQUE INDEX `uq_mobile` (`mobile` ASC),
UNIQUE INDEX `uq_email` (`email` ASC) );

Tabulka produktů

V této části navrhneme Tabulku produktů pro uložení dat o produktu. Níže je uveden popis všech sloupců tabulky produktů.

ID Jedinečné ID k identifikaci produktu.
Název Název produktu, který se má zobrazit v inventáři.
Shrnutí Souhrn, ve kterém jsou zmíněny hlavní body.
Typ Typ pro rozlišení mezi různými typy produktů.
Vytvořeno v Ukládá datum a čas, kdy byl produkt vytvořen.
Aktualizováno dne Ukládá datum a čas, kdy je produkt aktualizován.
Obsah Sloupec používaný k uložení dalších podrobností o produktu.

Tabulka produktů s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`product` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(75) NOT NULL,
`summary` TINYTEXT NULL,
`type` SMALLINT(6) NOT NULL DEFAULT 0,
`createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`)
);

Meta produktu

Tabulku metadat produktu lze použít k uložení dalších informací o produktech včetně adresy URL banneru produktu atd. Níže je uveden popis všech sloupců tabulky metadat produktu.

ID Jedinečné ID k identifikaci meta produktu.
ID produktu ID produktu k identifikaci nadřazeného produktu.
Klíč Klíč identifikující meta.
Obsah Sloupec používaný k uložení metadat produktu.

Metatabulka produktu s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`product_meta` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`productId` BIGINT NOT NULL,
`key` VARCHAR(50) NOT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `idx_meta_product` (`productId` ASC),
UNIQUE INDEX `uq_product_meta` (`productId` ASC, `key` ASC),
CONSTRAINT `fk_meta_product`
FOREIGN KEY (`productId`)
REFERENCES `inventory`.`product` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB;

Tabulka kategorií a tabulka kategorií produktů

V této části navrhneme Tabulku kategorií a Tabulka kategorií produktů k ukládání kategorií produktů a jejich mapování. Níže je uveden popis všech sloupců tabulky kategorií.

ID Jedinečné ID k identifikaci kategorie.
ID rodiče ID rodiče k identifikaci nadřazené kategorie.
Název Název kategorie.
Název metadat Název metadat, který se má použít pro název prohlížeče a SEO.
Slimák Slug kategorie tvořící adresu URL.
Obsah Sloupec používaný k uložení podrobností kategorie.

Tabulka kategorií s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`category` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`parentId` BIGINT NULL DEFAULT NULL,
`title` VARCHAR(75) NOT NULL,
`metaTitle` VARCHAR(100) NULL DEFAULT NULL,
`slug` VARCHAR(100) NOT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`));

ALTER TABLE `inventory`.`category`
ADD INDEX `idx_category_parent` (`parentId` ASC);
ALTER TABLE `inventory`.`category`
ADD CONSTRAINT `fk_category_parent`
FOREIGN KEY (`parentId`)
REFERENCES `inventory`.`category` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

Níže je uveden popis všech sloupců tabulky kategorií produktů.

ID produktu ID produktu k identifikaci produktu.
ID kategorie ID kategorie k identifikaci kategorie.

Tabulka kategorií produktů s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`product_category` (
`productId` BIGINT NOT NULL,
`categoryId` BIGINT NOT NULL,
PRIMARY KEY (`productId`, `categoryId`),
INDEX `idx_pc_category` (`categoryId` ASC),
INDEX `idx_pc_product` (`productId` ASC),
CONSTRAINT `fk_pc_product`
FOREIGN KEY (`productId`)
REFERENCES `inventory`.`product` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT `fk_pc_category`
FOREIGN KEY (`categoryId`)
REFERENCES `inventory`.`category` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);

Tabulka značek

V této části navrhneme Tabulku značek pro uložení údajů o značce. Níže je uveden popis všech sloupců tabulky značek.

ID Jedinečné ID k identifikaci značky.
Název Název značky, který se má zobrazit v inventáři.
Shrnutí Souhrn uvádí nejdůležitější body.
Vytvořeno v Ukládá datum a čas, kdy byl produkt vytvořen.
Aktualizováno dne Ukládá datum a čas, kdy je produkt aktualizován.
Obsah Sloupec používaný k uložení dalších podrobností o značce.

Tabulka značek s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`brand` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`title` VARCHAR(75) NOT NULL,
`summary` TINYTEXT NULL,
`createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`)
);

Tabulka objednávek

Tato část poskytuje tabulku pro správu objednávek zásob. Objednávka může být spojena s Dodavatelem nebo Zákazníkem. Níže je uveden popis všech sloupců tabulky objednávek.

ID Jedinečné ID k identifikaci objednávky.
ID uživatele ID uživatele k identifikaci dodavatele nebo zákazníka spojeného s objednávkou.
Typ Typ objednávky k rozlišení mezi nákupní objednávkou a objednávkou zákazníka.
Stav Stav objednávky může být Nová, Pokladna, Zaplaceno, Nezdařilo se, Odesláno, Doručeno, Vráceno a Dokončeno.
Dílčí součet Celková cena položek objednávky.
Sleva na položku Celková sleva položek objednávky.
Daně Daň z položek objednávky.
Doprava Poplatky za dopravu položek objednávky.
Celkem Celková cena objednávky včetně daně a dopravy. Nezahrnuje slevu na položky.
Propagace Propagační kód objednávky.
Sleva Celková sleva z Objednávky na základě propagačního kódu nebo slevy obchodu.
Celkový součet Celkový součet objednávky, který má kupující zaplatit.
Vytvořeno v Ukládá datum a čas, kdy byla objednávka vytvořena.
Aktualizováno dne Ukládá datum a čas, kdy je objednávka aktualizována.
Obsah Sloupec používaný k uložení dalších podrobností objednávky.

Tabulka objednávek s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`order` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`userId` BIGINT NOT NULL,
`type` SMALLINT(6) NOT NULL DEFAULT 0,
`status` SMALLINT(6) NOT NULL DEFAULT 0,
`subTotal` FLOAT NOT NULL DEFAULT 0,
`itemDiscount` FLOAT NOT NULL DEFAULT 0,
`tax` FLOAT NOT NULL DEFAULT 0,
`shipping` FLOAT NOT NULL DEFAULT 0,
`total` FLOAT NOT NULL DEFAULT 0,
`promo` VARCHAR(50) NULL DEFAULT NULL,
`discount` FLOAT NOT NULL DEFAULT 0,
`grandTotal` FLOAT NOT NULL DEFAULT 0,
`createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `idx_order_user` (`userId` ASC),
CONSTRAINT `fk_order_user`
FOREIGN KEY (`userId`)
REFERENCES `inventory`.`user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);

Tabulka adres

Tato část obsahuje tabulku pro správu adresy uživatele nebo objednávky. Adresu uživatele lze použít k uložení adresy spojené s uživatelem. Adresu objednávky lze použít k uložení doručovací adresy pro objednávky doručení domů. Níže je uveden popis všech sloupců tabulky adres.

ID Jedinečné ID k identifikaci adresy.
ID uživatele ID uživatele k identifikaci uživatele spojeného s adresou.
ID objednávky ID objednávky k identifikaci objednávky spojené s adresou.
Křestní jméno Křestní jméno uživatele.
Prostřední jméno Prostřední jméno uživatele.
Příjmení Příjmení uživatele.
Mobil Číslo mobilního telefonu uživatele.
E-mail E-mail uživatele.
Řádek 1 První řádek pro uložení adresy.
Řádek 2 Druhý řádek pro uložení adresy.
Město Město adresy.
Provincie Provincie adresy.
Země Země adresy.
Vytvořeno v Ukládá datum a čas, kdy byla objednávka vytvořena.
Aktualizováno dne Ukládá datum a čas, kdy je objednávka aktualizována.

Tabulka adres s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`address` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`userId` BIGINT NULL DEFAULT NULL,
`orderId` BIGINT NULL DEFAULT NULL,
`firstName` VARCHAR(50) NULL DEFAULT NULL,
`middleName` VARCHAR(50) NULL DEFAULT NULL,
`lastName` VARCHAR(50) NULL DEFAULT NULL,
`mobile` VARCHAR(15) NULL,
`email` VARCHAR(50) NULL,
`line1` VARCHAR(50) NULL DEFAULT NULL,
`line2` VARCHAR(50) NULL DEFAULT NULL,
`city` VARCHAR(50) NULL DEFAULT NULL,
`province` VARCHAR(50) NULL DEFAULT NULL,
`country` VARCHAR(50) NULL DEFAULT NULL,
`createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `idx_address_user` (`userId` ASC),
CONSTRAINT `fk_address_user`
FOREIGN KEY (`userId`)
REFERENCES `inventory`.`user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);

ALTER TABLE `inventory`.`address`
ADD INDEX `idx_address_order` (`orderId` ASC);
ALTER TABLE `inventory`.`address`
ADD CONSTRAINT `fk_address_order`
FOREIGN KEY (`orderId`)
REFERENCES `inventory`.`order` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

Tabulka položek

V této sekci navrhneme Položku Tabulka pro uložení podrobností o položce. Položka představuje položky na skladě a zakoupené od dodavatelů. Níže je uveden popis všech sloupců tabulky položek.

ID Jedinečné ID k identifikaci položky.
ID produktu ID produktu k identifikaci produktu spojeného s položkou inventáře.
ID značky ID značky k identifikaci značky spojené s položkou inventáře.
ID dodavatele ID dodavatele k identifikaci dodavatele spojeného s položkou inventáře.
ID objednávky ID objednávky k identifikaci objednávky spojené s položkou inventáře.
Vytvořil ID uživatele k identifikaci uživatele, který přidal položku inventáře.
Aktualizováno ID uživatele k identifikaci uživatele, který aktualizoval položku inventáře.
Skladová jednotka ID k identifikaci položky na skladě.
Maximální maloobchodní cena Tištěná cena produktu spojeného s položkou.
Sleva Slevu poskytuje dodavatel.
Cena Cena, za kterou byl produkt zakoupen.
Množství Celkové množství přijaté na skladě.
Prodáno Celkové množství prodané zákazníkům.
K dispozici Množství, které je k dispozici na skladě.
Vadné Celkový počet vadných položek buď přijatých na skladě nebo vrácených zákazníky.
Vytvořeno v Ukládá datum a čas, kdy byla objednávka vytvořena.
Aktualizováno dne Ukládá datum a čas, kdy je objednávka aktualizována.

Tabulka položek s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`item` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`productId` BIGINT NOT NULL,
`brandId` BIGINT NOT NULL,
`supplierId` BIGINT NOT NULL,
`orderId` BIGINT NOT NULL,
`sku` VARCHAR(100) NOT NULL,
`mrp` FLOAT NOT NULL DEFAULT 0,
`discount` FLOAT NOT NULL DEFAULT 0,
`price` FLOAT NOT NULL DEFAULT 0,
`quantity` SMALLINT(6) NOT NULL DEFAULT 0,
`sold` SMALLINT(6) NOT NULL DEFAULT 0,
`available` SMALLINT(6) NOT NULL DEFAULT 0,
`defective` SMALLINT(6) NOT NULL DEFAULT 0,
`createdBy` BIGINT NOT NULL,
`updatedBy` BIGINT DEFAULT NULL,
`createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `idx_item_product` (`productId` ASC),
CONSTRAINT `fk_item_product`
FOREIGN KEY (`productId`)
REFERENCES `inventory`.`product` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);

ALTER TABLE `inventory`.`item`
ADD INDEX `idx_item_brand` (`brandId` ASC);
ALTER TABLE `inventory`.`item`
ADD CONSTRAINT `fk_item_brand`
FOREIGN KEY (`brandId`)
REFERENCES `inventory`.`brand` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

ALTER TABLE `inventory`.`item`
ADD INDEX `idx_item_user` (`supplierId` ASC);
ALTER TABLE `inventory`.`item`
ADD CONSTRAINT `fk_item_user`
FOREIGN KEY (`supplierId`)
REFERENCES `inventory`.`user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

ALTER TABLE `inventory`.`item`
ADD INDEX `idx_item_order` (`orderId` ASC);
ALTER TABLE `inventory`.`item`
ADD CONSTRAINT `fk_item_order`
FOREIGN KEY (`orderId`)
REFERENCES `inventory`.`order` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

Tabulka položek objednávky

Tato část poskytuje tabulku pro správu položek objednávek zakoupených zákazníky. Níže je uveden popis všech sloupců tabulky položek objednávky.

ID Jedinečné ID k identifikaci objednané položky.
ID produktu ID produktu k identifikaci produktu přidruženého k objednané položce.
ID položky ID položky k identifikaci položky přidružené k objednané položce.
ID objednávky ID objednávky k identifikaci objednávky spojené s objednanou položkou.
SKU SKU produktu při jeho nákupu.
Cena Cena produktu při jeho nákupu.
Sleva Sleva na produkt při jeho nákupu.
Množství Množství produktu vybrané uživatelem.
Vytvořeno v Ukládá datum a čas, kdy je objednaná položka vytvořena.
Aktualizováno dne Ukládá datum a čas, kdy je objednaná položka aktualizována.
Obsah Sloupec používaný k uložení dalších podrobností o objednané položce.

Tabulka položek objednávky s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`order_item` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`productId` BIGINT NOT NULL,
`itemId` BIGINT NOT NULL,
`orderId` BIGINT NOT NULL,
`sku` VARCHAR(100) NOT NULL,
`price` FLOAT NOT NULL DEFAULT 0,
`discount` FLOAT NOT NULL DEFAULT 0,
`quantity` SMALLINT(6) NOT NULL DEFAULT 0,
`createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `idx_order_item_product` (`productId` ASC),
CONSTRAINT `fk_order_item_product`
FOREIGN KEY (`productId`)
REFERENCES `inventory`.`product` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);

ALTER TABLE `inventory`.`order_item`
ADD INDEX `idx_order_item_item` (`itemId` ASC);
ALTER TABLE `inventory`.`order_item`
ADD CONSTRAINT `fk_order_item_item`
FOREIGN KEY (`itemId`)
REFERENCES `inventory`.`item` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

ALTER TABLE `inventory`.`order_item`
ADD INDEX `idx_order_item_order` (`orderId` ASC);
ALTER TABLE `inventory`.`order_item`
ADD CONSTRAINT `fk_order_item_order`
FOREIGN KEY (`orderId`)
REFERENCES `inventory`.`order` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

Tabulka transakcí

Potřebujeme také tabulku transakcí, abychom mohli sledovat platby za objednávky provedené kupujícím a pro vedení účetnictví. Stejnou tabulku můžeme také použít k zaznamenání částečného nebo úplného vrácení peněz za objednávku. Níže je uveden popis všech sloupců tabulky transakcí.

ID Jedinečné ID k identifikaci transakce.
ID uživatele ID uživatele k identifikaci uživatele spojeného s transakcí.
ID objednávky ID objednávky k identifikaci objednávky spojené s transakcí.
Kód ID platby poskytnuté platební bránou.
Typ Typ transakce objednávky může být Kreditní nebo Debetní.
Režim Režim transakce objednávky může být offline, na dobírku, šek, směnka, kabelové připojení a online.
Stav Stav transakce objednávky může být Nová, Zrušená, Neúspěšná, Nevyřízená, Odmítnutá, Odmítnutá a Úspěšná.
Vytvořeno v Ukládá datum a čas, kdy je transakce objednávky vytvořena.
Aktualizováno dne Ukládá datum a čas, kdy je transakce objednávky aktualizována.
Obsah Sloupec používaný k uložení dalších podrobností o transakci.

Tabulka transakcí s příslušnými omezeními je uvedena níže.

CREATE TABLE `inventory`.`transaction` (
`id` BIGINT NOT NULL AUTO_INCREMENT,
`userId` BIGINT NOT NULL,
`orderId` BIGINT NOT NULL,
`code` VARCHAR(100) NOT NULL,
`type` SMALLINT(6) NOT NULL DEFAULT 0,
`mode` SMALLINT(6) NOT NULL DEFAULT 0,
`status` SMALLINT(6) NOT NULL DEFAULT 0,
`createdAt` DATETIME NOT NULL,
`updatedAt` DATETIME NULL DEFAULT NULL,
`content` TEXT NULL DEFAULT NULL,
PRIMARY KEY (`id`),
INDEX `idx_transaction_user` (`userId` ASC),
CONSTRAINT `fk_transaction_user`
FOREIGN KEY (`userId`)
REFERENCES `inventory`.`user` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION);

ALTER TABLE `inventory`.`transaction`
ADD INDEX `idx_transaction_order` (`orderId` ASC);
ALTER TABLE `inventory`.`transaction`
ADD CONSTRAINT `fk_transaction_order`
FOREIGN KEY (`orderId`)
REFERENCES `inventory`.`order` (`id`)
ON DELETE NO ACTION
ON UPDATE NO ACTION;

Shrnutí

V tomto tutoriálu jsme diskutovali o návrhu databáze systému správy zásob pro ukládání uživatelů a správu inventáře produktů. Poskytlo také návrh databáze pro správu nákupních objednávek a objednávek zákazníků.

Do diskuse můžete zasílat své komentáře. Možná vás bude zajímat i návrh databáze aplikací Blog a Poll &Survey. Kompletní schéma databáze je k dispozici také na GitHubu.


  1. Snaží se získat majetek bez objektu

  2. Sloupec je ve výběrovém seznamu neplatný, protože není obsažen v agregační funkci ani v klauzuli GROUP BY

  3. Jak zjistit celkový počet otevřených/aktivních připojení na serveru ms sql 2005

  4. Chyba SQL:ORA-02000:chybí klíčové slovo ALWAYS při vytváření tabulky založené na sloupcích identity