Rumah pangkalan data tutorial mysql 数据库设计问题 – SQL_MySQL

数据库设计问题 – SQL_MySQL

Jun 01, 2016 pm 01:51 PM
Reka bentuk pangkalan data

要求:a 表:`id`, `name` ; 作为词表,存放不同的词;b 表:`id`, `attr` ; 作为属性表,存放各种属性;其中,一个词可以有不同的多个属性;而每个词的属性的个数也不一定相同;c 表:`id`, `aid`, `bid` ; 作为关系表,存放每个词的对应关系;写出 SQL 语句,来得到每个词拥有属性总数的逆向(DESC)排序:

各种表的信息如下:

mysql> DESC `a`; DESC `b`; DESC `c`;+-------+---------------------+------+-----+---------+----------------+| Field | Type                | Null | Key | Default | Extra          |+-------+---------------------+------+-----+---------+----------------+| id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment || name  | varchar(255)        | NO   |     | NULL    |                |+-------+---------------------+------+-----+---------+----------------+2 rows in set (0.00 sec)+-------+---------------------+------+-----+---------+----------------+| Field | Type                | Null | Key | Default | Extra          |+-------+---------------------+------+-----+---------+----------------+| id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment || attr  | varchar(255)        | NO   |     | NULL    |                |+-------+---------------------+------+-----+---------+----------------+2 rows in set (0.01 sec)+-------+---------------------+------+-----+---------+----------------+| Field | Type                | Null | Key | Default | Extra          |+-------+---------------------+------+-----+---------+----------------+| id    | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment || aid   | int(8)              | NO   |     | NULL    |                || bid   | int(8)              | NO   |     | NULL    |                |+-------+---------------------+------+-----+---------+----------------+3 rows in set (0.00 sec)
Salin selepas log masuk

我们预先放入测试的数据,如下:

mysql> SELECT * FROM `a`; SELECT * FROM `b`; SELECT * FROM `c`;+----+------+| id | name |+----+------+|  1 | a    ||  2 | b    ||  3 | c    ||  4 | d    ||  5 | e    |+----+------+5 rows in set (0.00 sec)+----+------+| id | attr |+----+------+|  1 | 111  ||  2 | 112  ||  3 | 113  ||  4 | 123  ||  5 | 221  ||  6 | 231  ||  7 | 252  ||  8 | 278  ||  9 | 292  || 10 | 256  || 11 | 578  || 12 | 653  || 13 | 521  || 14 | 502  |+----+------+14 rows in set (0.00 sec)+----+-----+-----+| id | aid | bid |+----+-----+-----+|  1 |   1 |   1 ||  2 |   1 |   2 ||  3 |   1 |   4 ||  4 |   1 |   7 ||  5 |   2 |   8 ||  6 |   2 |  11 ||  7 |   3 |   3 ||  8 |   3 |   5 ||  9 |   3 |   6 || 10 |   4 |   9 || 11 |   4 |  10 || 12 |   5 |  12 || 13 |   5 |  13 || 14 |   5 |  14 |+----+-----+-----+14 rows in set (0.00 sec)
Salin selepas log masuk

首先执行下列语句:

mysql> SELECT COUNT(`bid`) AS `attrcounts` FROM `c` GROUP BY `aid` ORDER BY `attrcounts` DESC;+------------+| attrcounts |+------------+|          4 ||          3 ||          3 ||          2 ||          2 |+------------+5 rows in set (0.00 sec)
Salin selepas log masuk

进而,我们再连表:

mysql> SELECT a.name, COUNT(c.bid) AS `attrcounts` FROM `c` LEFT JOIN `a` ON a.id = c.aid GROUP BY c.aid ORDER BY `attrcounts` DESC;+------+------------+| name | attrcounts |+------+------------+| a    |          4 || c    |          3 || e    |          3 || b    |          2 || d    |          2 |+------+------------+5 rows in set (0.00 sec)
Salin selepas log masuk

于是,我们得到了结果;

-------

补充一些基础知识:

如何修改已有表的列:http://www.w3school.com.cn/sql/sql_alter.asp

GROUP BY 相关知识:http://www.w3school.com.cn/sql/sql_groupby.asp

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Isu Medan Berlebihan dalam Reka Bentuk Pangkalan Data: Amalan Terbaik dalam Pengaturcaraan PHP Isu Medan Berlebihan dalam Reka Bentuk Pangkalan Data: Amalan Terbaik dalam Pengaturcaraan PHP Jun 22, 2023 am 11:02 AM

Dengan populariti Internet dan peningkatan bilangan senario aplikasi, reka bentuk pangkalan data telah menjadi isu yang sangat penting. Dalam reka bentuk pangkalan data, medan berlebihan adalah isu yang sangat penting. Medan berlebihan merujuk kepada medan pendua atau tidak perlu yang muncul semasa mereka bentuk pangkalan data. Walaupun medan berlebihan boleh meningkatkan kecekapan dan kelajuan pertanyaan pada tahap tertentu, ia juga membazirkan ruang storan, meningkatkan kesukaran penyelenggaraan, malah menjejaskan konsistensi dan keselamatan data. Oleh itu, dalam pengaturcaraan PHP, amalan terbaik tertentu harus diikuti untuk menyelesaikan masalah yang disebabkan oleh medan berlebihan.

Penyelidikan tentang penyelesaian kepada masalah reka bentuk pangkalan data yang dihadapi dalam pembangunan menggunakan teknologi MongoDB Penyelidikan tentang penyelesaian kepada masalah reka bentuk pangkalan data yang dihadapi dalam pembangunan menggunakan teknologi MongoDB Oct 08, 2023 pm 05:53 PM

Meneroka penyelesaian kepada masalah reka bentuk pangkalan data yang dihadapi dalam pembangunan teknologi MongoDB Abstrak: Dengan perkembangan pesat data besar dan pengkomputeran awan, reka bentuk pangkalan data amat penting dalam pembangunan perisian. Artikel ini akan membincangkan isu reka bentuk pangkalan data biasa yang dihadapi semasa pembangunan dan memperkenalkan penyelesaian MongoDB melalui contoh kod khusus. Pengenalan: Dalam proses pembangunan perisian, reka bentuk pangkalan data adalah pautan utama. Pangkalan data perhubungan tradisional mempunyai beberapa isu prestasi dan kebolehskalaan apabila memproses data berskala besar. Dan MongoD

Amalan reka bentuk pangkalan data pembelajaran Golang untuk aplikasi web Amalan reka bentuk pangkalan data pembelajaran Golang untuk aplikasi web Jun 24, 2023 am 10:33 AM

Golang ialah bahasa pengaturcaraan yang dibangunkan oleh Google Kesederhanaan penggunaannya, prestasi unggul dan ciri merentas platform menjadikannya semakin popular dalam pembangunan aplikasi web moden. Dalam pembangunan aplikasi web, reka bentuk pangkalan data adalah bahagian yang sangat penting. Dalam artikel ini, kami akan memperkenalkan cara mempraktikkan reka bentuk pangkalan data semasa membangunkan aplikasi web menggunakan Golang. Memilih pangkalan data Pertama, kita perlu memilih pangkalan data yang sesuai. Golang menyokong pelbagai pangkalan data, seperti MySQL, Po

Bagaimana untuk melaksanakan reka bentuk pangkalan data untuk SKU berbilang spesifikasi produk dalam PHP Bagaimana untuk melaksanakan reka bentuk pangkalan data untuk SKU berbilang spesifikasi produk dalam PHP Sep 06, 2023 am 09:03 AM

Bagaimana untuk melaksanakan reka bentuk pangkalan data untuk SKU berbilang spesifikasi produk dalam PHP Dalam platform e-dagang, spesifikasi produk adalah konsep yang sangat penting. Spesifikasi produk boleh difahami sebagai sifat dan ciri produk yang berbeza, seperti saiz, warna, berat, dsb. Dalam aplikasi praktikal, untuk spesifikasi yang berbeza, kita selalunya perlu menetapkan harga, inventori, gambar dan maklumat lain yang berbeza untuk setiap kombinasi. Ini memerlukan kami untuk mereka bentuk struktur pangkalan data yang sesuai untuk menyimpan dan mengurus spesifikasi produk dan maklumat berkaitan. Artikel ini akan memperkenalkan cara melaksanakan SKU berbilang spesifikasi produk dalam PHP

Reka bentuk dan aplikasi pangkalan data PHP dan MySQL Reka bentuk dan aplikasi pangkalan data PHP dan MySQL Jun 20, 2023 am 09:27 AM

PHP dan MySQL adalah pasangan yang berkuasa dengan pelbagai aplikasi. Dalam industri Internet, PHP dan MySQL telah menjadi konfigurasi standard timbunan teknologi, dan sejumlah besar laman web, aplikasi web, sistem pengurusan bahagian belakang dan aplikasi lain telah menggunakan gabungan ini. Artikel ini akan meneroka reka bentuk dan aplikasi pangkalan data PHP dan MySQL serta memperkenalkan beberapa amalan terbaik. 1. Kelebihan pangkalan data PHP dan MySQL PHP ialah bahasa pengaturcaraan Web bersilang platform, sumber terbuka, sisi pelayan dengan pelbagai senario aplikasi. MySQL ialah a

Penjelasan terperinci tentang aplikasi kunci utama komposit MySQL dalam reka bentuk pangkalan data Penjelasan terperinci tentang aplikasi kunci utama komposit MySQL dalam reka bentuk pangkalan data Mar 15, 2024 am 11:33 AM

Penjelasan terperinci tentang aplikasi kunci utama komposit MySQL dalam reka bentuk pangkalan data Kunci utama komposit MySQL merujuk kepada kunci utama yang terdiri daripada pelbagai medan Satu rekod dikenal pasti secara unik dengan menggabungkan nilai medan ini. Dalam reka bentuk pangkalan data, kunci utama komposit digunakan secara meluas, terutamanya apabila entiti perlu dikenal pasti secara unik. Artikel ini akan memperkenalkan secara terperinci konsep, prinsip reka bentuk dan contoh kod khusus kunci utama komposit MySQL. 1. Konsep kunci utama komposit MySQL Dalam MySQL, kunci utama ialah medan yang digunakan untuk mengenal pasti secara unik setiap baris data dalam jadual.

数据库设计的主要步骤是什么 数据库设计的主要步骤是什么 Dec 29, 2020 pm 04:13 PM

步骤:1、需求收集和分析,得到数据字典和数据流图;2、对用户需求综合、归纳与抽象,形成概念模型;3、将概念结构转换为数据模型;4、设计数据库的物理结构;5、建立数据库,编制与调试应用程序,组织数据入库;6、对数据库系统进行评价、调整与修改。

Reka bentuk pangkalan data MySQL: jadual menu sistem pesanan Reka bentuk pangkalan data MySQL: jadual menu sistem pesanan Nov 01, 2023 pm 12:40 PM

Reka bentuk pangkalan data MySQL: senarai menu sistem pesanan Pengenalan: Dalam industri katering, reka bentuk dan pelaksanaan sistem pesanan adalah penting. Salah satu jadual data teras ialah jadual menu Artikel ini akan memperkenalkan secara terperinci cara mereka bentuk dan mencipta jadual menu yang berkesan untuk menyokong fungsi sistem pesanan. 1. Analisis keperluan Sebelum mereka bentuk senarai menu, kita perlu menjelaskan keperluan dan fungsi sistem. Dalam sistem pesanan, jadual menu perlu menyimpan maklumat yang berkaitan tentang setiap hidangan, termasuk nama hidangan, harga, klasifikasi, penerangan, dsb. Di samping itu, anda juga perlu mempertimbangkan hidangan

See all articles