sql >> Databasteknik >  >> RDS >> Mysql

Guide till designdatabas för lagerhanteringssystem i MySQL

Denna handledning innehåller de fullständiga stegen för att utforma ett databasschema för lagerhanteringssystemet för att hantera leverantörer, säljare, artiklar, artikellager, inköpsorder och kundorder.

Anteckningar :Vanligtvis använder företag inom detaljhandel och tillverkning lagersystem. Bland utbredda användningsfall i andra branscher kan detta databasschema användas, till exempel för sjukhusinventering, för att öka effektiviteten i sjukvårdens leveranskedjor och minska läkemedelssvinnet.

Entity Relationship Diagram eller visuell databasdesign visas nedan.

Lagerhanteringsdatabas

Du kan också besöka de populära handledningarna inklusive Hur man installerar MySQL 8 på Ubuntu 20.04 LTS, Hur man installerar MySQL 8 på Windows, Hur man installerar MySQL Workbench på Ubuntu, Hur man installerar MySQL 8 med Workbench på Windows 10, RBAC Database i MySql, Bloggdatabas i MySQL, Frågesportsdatabas i MySQL, Enkät- och undersökningsdatabas i MySQL, Online Shopping Cart Database i MySQL och Lär dig grundläggande SQL-frågor i MySQL.

Inventory Database

Det allra första steget är att skapa inventeringsdatabasen. Den kan skapas med hjälp av frågan som visas nedan.

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

Jag har använt teckenuppsättningen utf8mb4 för att stödja ett stort antal tecken.

Användartabell

I det här avsnittet kommer vi att utforma användartabellen för att lagra användarinformation. Användare kan hantera sina egna profiler. Användarna kan också använda applikationen enligt de roller som tilldelats dem. Du kan också hänvisa till handledningen RBAC Database i MySql för att implementera ett komplett RBAC-system för att hantera roller och behörigheter. Nedan nämns beskrivningen av alla kolumner i användartabellen.

Id Det unika ID:t för att identifiera användaren.
Roll-ID Användarens roll. Det kan vara administratör, leverantör, säljare och kund.
Förnamn Användarens förnamn.
Mellannamn Användarens mellannamn.
Efternamn Användarens efternamn.
Mobil Användarens mobilnummer. Den kan användas för inloggning och registreringsändamål.
E-post Användarens e-postadress. Den kan användas för inloggning och registreringsändamål.
Lösenordshash Lösenords-hash som genereras av lämplig algoritm. Vi måste undvika att lagra vanliga eller krypterade lösenord.
Registrerad på Denna kolumn kan användas för att beräkna användarens livslängd med programmet.
Senaste inloggning Den kan användas för att identifiera användarens senaste inloggning.
Intro En kort introduktion av användaren.
Profil Användarinformation.

Användartabellen med lämpliga begränsningar visas nedan.

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) );

Produkttabell

I det här avsnittet kommer vi att utforma Produkttabellen för att lagra produktdata. Nedan nämns beskrivningen av alla kolumner i produkttabellen.

Id Det unika ID:t för att identifiera produkten.
Titel Produkttiteln som ska visas i inventeringen.
Sammanfattning Sammanfattningen för att nämna de viktigaste höjdpunkterna.
Typ Typen för att skilja mellan de olika produkttyperna.
Skapat vid Den lagrar datum och tid då produkten skapades.
Uppdaterad kl. Den lagrar datum och tid då produkten uppdateras.
Innehåll Kolumnen som används för att lagra ytterligare information om produkten.

Produkttabellen med lämpliga begränsningar visas nedan.

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`)
);

Produktmeta

Produktmetatabellen kan användas för att lagra ytterligare information om produkter inklusive webbadressen till produktens banner etc. Nedan nämns en beskrivning av alla kolumner i produktmetatabellen.

Id Det unika ID:t för att identifiera produktens meta.
Produkt-ID Produkt-id för att identifiera den överordnade produkten.
Nyckel Nyckeln som identifierar meta.
Innehåll Kolumnen som används för att lagra produktens metadata.

Produktmetatabellen med lämpliga begränsningar visas nedan.

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;

Kategoritabell och produktkategoritabell

I det här avsnittet kommer vi att utforma Kategoritabellen och Produktkategoritabell för att lagra produktkategorierna och deras mappningar. Nedan nämns beskrivningen av alla kolumner i kategoritabellen.

Id Det unika ID:t för att identifiera kategorin.
Förälder-ID Det överordnade id för att identifiera den överordnade kategorin.
Titel Kategorititeln.
Metatitel Metatiteln som ska användas för webbläsartitel och SEO.
Snigel Kategorin som bildar URL:en.
Innehåll Kolumnen som används för att lagra kategoriinformationen.

Kategoritabellen med lämpliga begränsningar är som visas nedan.

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;

Nedan nämns beskrivningen av alla kolumner i produktkategoritabellen.

Produkt-ID Produkt-id för att identifiera produkten.
Kategori-ID Kategori-id för att identifiera kategorin.

Produktkategoritabellen med lämpliga begränsningar visas nedan.

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);

Varumärkestabell

I det här avsnittet kommer vi att utforma varumärkestabellen för att lagra varumärkesdata. Nedan nämns beskrivningen av alla kolumner i varumärkestabellen.

Id Det unika ID:t för att identifiera varumärket.
Titel Varumärkets titel som ska visas i inventeringen.
Sammanfattning Sammanfattningen nämner de viktigaste höjdpunkterna.
Skapat vid Den lagrar datum och tid då produkten skapades.
Uppdaterad kl. Den lagrar datum och tid då produkten uppdateras.
Innehåll Kolumnen som används för att lagra ytterligare information om varumärket.

Varumärkestabellen med lämpliga begränsningar visas nedan.

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`)
);

Beställningstabelltabell

Det här avsnittet tillhandahåller tabellen för att hantera inventeringsorder. Beställningen kan kopplas till antingen Leverantören eller Kunden. Nedan nämns beskrivningen av alla kolumner i beställningstabellen.

Id Det unika ID:t för att identifiera beställningen.
Användar-ID Användar-ID för att identifiera leverantören eller kunden som är kopplad till beställningen.
Typ Beställningstypen för att skilja mellan inköpsorder eller kundorder.
Status Beställningens status kan vara Ny, Kassa, Betald, Misslyckad, Levererad, Levererad, Returnerad och Komplett.
Subtotal Totalpriset för beställningsartiklarna.
Artiklarabatt Den totala rabatten på beställningsartiklarna.
Skatt Skatten på beställningsartiklarna.
Frakt Fraktavgifterna för beställningsartiklarna.
Totalt Det totala priset för beställningen inklusive moms och frakt. Det exkluderar varornas rabatt.
Kampanj Kampanjkoden för beställningen.
Rabatt Den totala rabatten för beställningen baserat på kampanjkoden eller butiksrabatten.
Grundsumma Totalsumman av beställningen som ska betalas av köparen.
Skapat vid Den lagrar datum och tid då beställningen skapas.
Uppdaterad kl. Den lagrar datum och tid då beställningen uppdateras.
Innehåll Kolumnen som används för att lagra ytterligare information om beställningen.

Ordningstabellen med lämpliga begränsningar är som visas nedan.

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);

Adresstabell

Det här avsnittet tillhandahåller tabellen för att hantera adressen till antingen användaren eller beställningen. Användaradressen kan användas för att lagra adressen som är associerad med användaren. Beställningsadressen kan användas för att lagra leveransadressen för hemleveransbeställningarna. Nedan nämns beskrivningen av alla kolumner i adresstabellen.

Id Det unika ID:t för att identifiera adressen.
Användar-ID Användar-ID för att identifiera användaren som är kopplad till adressen.
Beställnings-ID Beställnings-ID för att identifiera beställningen som är kopplad till adressen.
Förnamn Användarens förnamn.
Mellannamn Användarens mellannamn.
Efternamn Användarens efternamn.
Mobil Användarens mobilnummer.
E-post Användarens e-postadress.
rad 1 Första raden att lagra adress.
rad 2 Den andra raden för att lagra adressen.
Stad Stad för adressen.
Provins Adressens provins.
Land Adressens land.
Skapat vid Den lagrar datum och tid då beställningen skapas.
Uppdaterad kl. Den lagrar datum och tid då beställningen uppdateras.

Adresstabellen med lämpliga begränsningar är som visas nedan.

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;

Artikeltabell

I det här avsnittet kommer vi att designa föremålet Tabell för att lagra artikelinformationen. Artikeln representerar de artiklar som finns i lager och köps från leverantörerna. Nedan nämns beskrivningen av alla kolumner i artikeltabellen.

Id Det unika ID:t för att identifiera objektet.
Produkt-ID Produkt-id för att identifiera produkten som är associerad med inventeringsartikeln.
Varumärkes-ID Varumärkes-id för att identifiera varumärket som är associerat med lagervaran.
Leverantörs-ID Leverantörs-id för att identifiera leverantören som är associerad med inventeringsartikeln.
Beställnings-ID Beställnings-id för att identifiera beställningen som är kopplad till inventeringsartikeln.
Skapad av Användar-ID för att identifiera användaren som lade till inventeringsobjektet.
Uppdaterad av Användar-ID för att identifiera användaren som uppdaterade inventeringsobjektet.
Lagerhållningsenhet Id för att identifiera artikeln i lager.
Högsta detaljpris Det tryckta priset för produkten som är kopplad till artikeln.
Rabatt Rabatten ges av leverantören.
Pris Det pris som produkten köptes till.
Mängd Den totala kvantiteten som tas emot i lagret.
Sålt Den totala kvantiteten som sålts till kunderna.
Tillgänglig Den kvantitet som är tillgänglig i lagret.
Defekt Det totala antalet defekta artiklar som antingen tagits emot i lagret eller returnerats av kunderna.
Skapat vid Den lagrar datum och tid då beställningen skapas.
Uppdaterad kl. Den lagrar datum och tid då beställningen uppdateras.

Artikeltabellen med lämpliga begränsningar är som visas nedan.

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;

Beställningsartikeltabell

Det här avsnittet tillhandahåller tabellen för att hantera beställningsartiklar som köpts av kunderna. Nedan nämns beskrivningen av alla kolumner i beställningsartikeltabellen.

Id Det unika ID:t för att identifiera den beställda artikeln.
Produkt-ID Produkt-id för att identifiera produkten som är kopplad till den beställda artikeln.
Artikel-ID Artikel-id för att identifiera artikeln som är kopplad till den beställda artikeln.
Beställnings-ID Beställnings-ID för att identifiera beställningen som är kopplad till den beställda artikeln.
SKU Produktens SKU när du köper den.
Pris Priset på produkten när du köper den.
Rabatt Rabatten på produkten när du köper den.
Mängd Mängden av produkten som valts av användaren.
Skapat vid Den lagrar datum och tid då den beställda artikeln skapas.
Uppdaterad kl. Den lagrar datum och tid då den beställda artikeln uppdateras.
Innehåll Kolumnen som används för att lagra ytterligare information om den beställda artikeln.

Beställningsartikeltabellen med lämpliga begränsningar är som visas nedan.

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;

Transaktionstabell

Vi behöver också en transaktionstabell för att spåra orderbetalningar som gjorts av köparen och för bokföring. Vi kan också använda samma tabell för att registrera den partiella eller fullständiga återbetalningen av beställningen. Nedan nämns beskrivningen av alla kolumner i transaktionstabellen.

Id Det unika ID:t för att identifiera transaktionen.
Användar-ID Användar-ID för att identifiera användaren som är kopplad till transaktionen.
Beställnings-ID Beställnings-ID för att identifiera beställningen som är kopplad till transaktionen.
Kod Betalnings-id som tillhandahålls av betalningsgatewayen.
Typ Typen av ordertransaktion kan vara antingen Kredit eller Debet.
Läge Läget för beställningstransaktionen kan vara offline, postförskott, check, växel, fast och online.
Status Status för ordertransaktionen kan vara Ny, Avbruten, Misslyckad, Väntande, Avvisad, Avvisad och Framgång.
Skapat vid Den lagrar datum och tid då ordertransaktionen skapas.
Uppdaterad kl. Den lagrar datum och tid då ordertransaktionen uppdateras.
Innehåll Kolumnen som används för att lagra ytterligare information om transaktionen.

Transaktionstabellen med lämpliga begränsningar är som visas nedan.

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;

Sammanfattning

I den här handledningen har vi diskuterat databasdesignen av ett lagerhanteringssystem för att lagra användarna och hantera produktlager. Det gav också databasdesignen för att hantera inköpsorder och kundorder.

Du kan skicka in dina kommentarer för att delta i diskussionen. Du kanske också är intresserad av att designa databasen med applikationerna Blog och Poll &Survey. Det fullständiga databasschemat finns också tillgängligt på GitHub.


  1. Postgres-anslutningen har stängts fel i Spring Boot

  2. MySQL TIMEDIFF() vs TIMESTAMPDIFF():Vad är skillnaden?

  3. Hur konverterar jag ett heltal till sträng som en del av en PostgreSQL-fråga?

  4. Blockchain:Vad är det, hur det fungerar och vad det betyder för Big Data