Présentation de la base de données_01

Introduction à la base de données

Une base de données est une collection organisée et partageable de données stockées dans un ordinateur pendant une longue période. Les données de la base de données et la relation entre les données sont organisées, décrites et stockées selon un certain modèle de données, qui présente moins de redondance, une plus grande indépendance des données et une évolutivité facile, et peut être utilisé par plusieurs bases de données dans une certaine plage.

Modèle de données : modèle hiérarchique, modèle réseau, modèle relationnel, on dit que la prochaine génération est le modèle objet

Une base de données relationnelle est une base de données basée sur un modèle de données relationnel. Elle utilise le concept et la méthode de l'algèbre ensembliste pour traiter les données dans la base de données. C'est également une table à deux dimensions organisée en une description. L'essence de la table est un collecteur pour le chargement des éléments de données. , les données de ces tables peuvent être consultées ou rappelées de différentes manières sans mettre à jour les tables de la base de données de l'organisation.

À l'heure actuelle, les RDBMS courants incluent principalement la charge Oracle [fonctionnement stable, excellentes performances, premier choix pour le développement d'applications d'entreprise à grande échelle], MySQL gratuit [open source gratuit, petite taille, vitesse rapide, adapté aux applications d'entreprise de petite et moyenne taille développement], chargement DB2 [rapide, fiable Bonnes performances, adapté au stockage massif de données, principalement utilisé lors de l'utilisation de composants IBM], SQLServer [principalement dans les applications .net], Sybase [utilisé pour des raisons historiques dans l'industrie des télécommunications]

Système de gestion de base de données SGBD

Il s'agit d'une couche de logiciel de gestion de données entre l'utilisateur et le système d'exploitation. Organiser et stocker scientifiquement les données, acquérir et maintenir efficacement les données
Fonctions de base : fonction de définition des données DDL, fonction de manipulation des données DML, gestion des opérations de la base de données, fonctions d'établissement et de maintenance de la base de données

Fonctionnalités de la base de données :

  • Les données de la base de données ne doivent pas être répétées autant que possible et servir diverses applications de manière optimisée
  • Les structures de données sont indépendantes de l'application
  • Le CRUD des données est géré et contrôlé par un SGBD logiciel unifié

modèle de données

Du point de vue du développement d'applications, le modèle de données peut être divisé en deux niveaux différents

  • Le modèle conceptuel ou le modèle logique, qui modélise les données et les informations du point de vue de l'utilisateur, peut être décrit à l'aide de diagrammes ER
    • E entité (rectangulaire), la colonne d'attribut est représentée par une ellipse, et une ligne non orientée est utilisée pour relier l'entité et l'attribut
    • Relation R (diamond box), il existe trois types de relation entre données et données : 1:1, 1:n ou n:1, n:m
    • Erreurs susceptibles de se produire : les clés primaires et étrangères ne peuvent pas être analysées (la clé primaire est un attribut d'identification et les clés étrangères sont impossibles)
  • modèle physique. Sur la base du modèle conceptuel, considérer divers facteurs techniques de réalisation spécifiques et concevoir l'architecture de la base de données. Il est nécessaire de déterminer toutes les tables et colonnes, de définir les clés primaires et étrangères et d'examiner les problèmes de paradigme en fonction des besoins de l'utilisateur
    .

Mode relationnel—un tableau à deux dimensions avec un en-tête [métadonnées]. L'emplacement de stockage spécifique est transparent pour l'utilisateur

Carte d'étudiant Nom âge genre
1 Zhao Jiadi 18 homme
2 Cao Zhendi 16 femme

Caractéristiques du modèle relationnel

  • Construit sur des concepts mathématiques stricts [unique]
    • Les entités et toutes sortes de connexions sont représentées par des relations
    • L'objet de la manipulation de données est une relation, et le résultat renvoyé est également une relation
  • Le chemin d'accès du modèle relationnel est transparent pour l'utilisateur, et les avantages résident dans l'indépendance des données, la haute sécurité et la programmation simplifiée
  • Inconvénients : le chemin de stockage est transparent pour les utilisateurs, ce qui entraîne une efficacité des requêtes moins bonne que celle des bases de données non relationnelles

SQL

Le langage de requête structuré SQL est un langage de programmation non procédural pour les opérations de base de données, qui est utilisé pour accéder aux données et interroger, mettre à jour et gérer les systèmes de base de données relationnelles. Le suffixe général du fichier de script est .sql

Normalisé via la structure organisationnelle de normalisation ANSI et ISO, mais chaque système de gestion de base de données a modifié et étendu la spécification SQL standard, la partie étendue n'est pas commune à toutes les bases de données et la partie standard est commune

Fonctionnalités de SQL :

  • Unifié et hautement non procédural
  • Opérations orientées ensemble
  • Fournir deux méthodes d'utilisation avec la même structure grammaticale, l'interaction en ligne de commande et l'intégration de la langue principale
  • La grammaire est simple, avec seulement 94 mots anglais et seulement 6 mots pour la fonction principale [insert update delete select]

NoSQL

NoSQL fait généralement référence à des bases de données non relationnelles et est principalement utilisé pour des solutions de sites Web de type SNS sociaux à très grande échelle et à haute simultanéité.

Il existe 4 types de bases de données NoSQL courantes :

  • Une base de données clé-valeur utilise une table de hachage pour stocker les données. Par exemple Redis
  • Base de données de stockage de colonnes, principalement pour les données massives distribuées, telles que HBase
  • Base de données de documents, stockant principalement des informations sur les documents versionnés, telles que MongoDB
  • Base de données graphique, principalement utilisée pour calculer la relation entre les données, comme Neo4j

Scénarios NoSQL applicables

  • Le modèle de données est relativement simple
  • Dans les systèmes informatiques nécessitant une grande flexibilité
  • Exigences élevées sur les performances de la base de données
  • Une cohérence élevée des données n'est pas requise

SQL contre NoSQL

  • Les bases de données SQL sont bonnes pour les requêtes complexes
  • La base de données SQL n'est pas adaptée au stockage de données hiérarchique. NoSQL peut très bien réaliser le stockage de données hiérarchique et convient mieux au Big Data.
  • SQL est très utile et stable dans les applications qui nécessitent une cohérence stricte des données, et peut garantir l'atomicité et la cohérence des opérations de données
    ; tandis que NoSQL a une capacité limitée à traiter les transactions, et garantit généralement la cohérence finale
  • Support du fournisseur SQL, tandis que NoSQL est le support de la communauté
  • En comparaison des performances, NoSQL est nettement meilleur que les bases de données SQL, et généralement NoSQL utilise pleinement les ressources de mémoire système
  • Le développement de bases de données NoSQL est pratique, il n'est pas nécessaire de prendre en compte la relation et le format des données

Base de données MySQL

MySQL utilise des instructions SQL, une petite base de données relationnelle rapide, gratuite et open source

MySQL peut prendre en charge plus de 60 000 tables et environ 5 milliards de lignes d'applications de base de données au niveau de l'entreprise

  • Chaque table peut prendre en charge jusqu'à 64 index, chacun pouvant être composé de 1 à 16 colonnes, et la largeur d'index maximale est de 1 000 octets
  • La comparaison des chaînes normales est insensible à la casse
  • La limite maximale de la base de données MySQL dépend de la limite de la taille du fichier du système d'exploitation, et non de la limite interne de MySQL

Utiliser MySQL8

  • MySQL8 est 2 fois plus rapide que MySQL5.7

Vue d'ensemble de l'architecture MySQL

MySQL est composé d'une interface SQL, d'un parseur, d'un optimiseur, d'un cache, d'un moteur de stockage

1. Le client envoie une instruction SQL au serveur MySQL

2. Le serveur vérifie d'abord le cache, et s'il réussit, il renvoie immédiatement le résultat stocké dans le cache, sinon l'étape suivante

3. Le serveur analyse et prétraite d'abord l'instruction SQL, puis l'optimiseur génère le plan d'exécution correspondant

4. Le serveur MySQL appelle l'API du moteur de stockage pour exécuter la requête selon le plan d'exécution

5. Enfin, le résultat de la requête est renvoyé au client et le résultat de la requête est mis en cache en même temps

Utilisation de base de MySQL

les fenêtres

1. Téléchargez https://dev.mysql.com/downloads/mysql/

MySQL était à l'origine un produit entièrement gratuit, après avoir été racheté par Oracle, il se décline aujourd'hui en 3 versions différentes :

  • MySQL Enterprise Edition, payant ou d'essai
  • MySQL Community Edition, gratuit
  • MySQL Advanced Cluster Edition, payant
  • MySQL classique, ancienne version, gratuit

Installer en ligne

support réseau requis

  • Sélectionnez le type d'installation, choisissez ici d'utiliser
  • Sélectionner les produits et fonctionnalités à installer
  • Démarrer la configuration de l'environnement

aménagement vert

Décompressez le fichier compressé mysql-8.0.15-winx64.zip et déplacez le répertoire décompressé vers n'importe quel emplacement

Pour exécuter l'opération d'initialisation, entrez d'abord dans le répertoire bin de mysql, et exécutez la commande dans la fenêtre cmd

mysqld --initialize --console

Remarque : Si le répertoire de données existe déjà, vous devez supprimer le répertoire de données avant d'exécuter la commande.
Un mot de passe généré temporairement sera affiché lors de l'opération d'initialisation.

Utilisez mysqld --installpour ajouter mysql au service système. Par défaut, le service mysql démarre automatiquement au démarrage de la machine.
Utilisez net start mysql pour démarrer le service de base de données.
Utilisez la commande mysql -uroot -ppour ouvrir le client pour vous connecter au service de base de données qui a été démarré. Ici, vous devez entrer le mot de passe temporaire généré ci-dessus.
Changer le mot de passe et alter user 'root'@'localhost' identified with mysql_native_password by '新口 令'
fermer le serveur net stop mysql
Supprimer le service système mysqlmysqld --remove

Commandes courantes

Démarrez le client : dans le répertoire binmysql -uroot -p123456

Le format de la commande est : mysql -u nom d'utilisateur -p mot de passe -P numéro de port -h nom d'hôte. Dans les applications pratiques, il n'est pas recommandé d'utiliser directement
le format de mot de passe -p
Si vous démarrez normalement, vous pouvez voir l'invite de commande mysql>
Si vous devez ouvrir le client dans n'importe quel répertoire, vous devez ajouter le répertoire absolu de bin vers la variable d'environnement système du chemin

voir toutes les bases de donnéesshow databases;

Notez que information_schema, mysql, sys et performance_schema appartiennent tous à la base de données système, n'exploitent pas directement ces bases de données

Changer de base de données courante use 数据库名称;
Visualiser toutes les tables de données sous la base de données courante show tables;
Visualiser la définition de la structure d'une table de données desc 数据表名称;
Abandonner la commande en cours de saisie \c
Afficher la liste des commandes \h
Quitter le client \q, vous pouvez également utiliser exitou quit
Visualiser les informations d'état du serveur \s
Quitter le clientquit

Instruction SQL

SQL peut être divisé en 4 catégories dans MySQL

  • Langage de définition de données DDL, créer la création, modifier la modification, supprimer la suppression, tronquer la troncature
  • Langage de manipulation de données DML, insertion d'insertion, modification de mise à jour, suppression de suppression
  • Langage de requête de données DQL, sélectionnez la requête
  • Langage de contrôle des données DCL, accorder l'autorisation, révoquer l'autorité de récupération

Langage de définition de données DDL

Instructions opérationnelles utilisées pour définir les objets de la base de données

fonctionnement de la base de données

créer une opération

Remarque : DATABASE ne peut pas être renommé. Certains outils de visualisation peuvent être renommés, il s'agit de construire une nouvelle bibliothèque, de copier toutes les tables dans la nouvelle bibliothèque, puis de supprimer l'ancienne bibliothèque pour terminer

Les règles de grammaire créent la base de données nom de la base de données jeu de caractères par défaut utf8, généralement le jeu de caractères codés par défaut est latin1

create database test default character set utf8; 
-- 创建数据库,名称为test,默认编码 字符集为utf-8 

-- 如果数据库已经存在,则再次创建会报错 
create database if not exists test default character set utf8; 
-- 如果test已经存在 则不执行创建操作,同时不会报错

Si la base de données est créée avec succès, un répertoire de test sera automatiquement ajouté sous le dossier de données data

opération de suppression

règles de grammairedrop database 数据库名称;

drop database test; -- 删除指定数据库;如果数据库不存在则报错 

drop database if exists test; -- 如果存在则删除,如果不存在也不报错

Afficher toutes les bases de données show databases;
Mysql permet d'ouvrir plusieurs bases de données en même temps, différents systèmes de gestion de base de données sont différents

changer de base de données actuelleuse 数据库名称;

use test; -- 如果数据库存在则切换到指定的数据库test下进行操作;如果不存在则报错

Afficher la base de données en cours d'exploitation

select database();

Afficher la déclaration de création de la base de données

show create datbase test;

Remarque : Avant d'utiliser des tables et des données, vous devez d'abord indiquer sur quelle base de données vous travaillez, sinon vous devez ajouter "nom de la base de données." à tous les objets.

Modifier le jeu de caractères de la base de données

ALTER DATABASE 数据库名 CHARACTER SET 字符集; #比如:gbk、utf8等

base de données système par défaut

La base de données système est la base de données utilisée par le SGBD. Si elle est endommagée, le SGBD ne pourra pas démarrer normalement, il est donc généralement déconseillé de fonctionner directement

  • information_schema enregistre des informations sur toutes les bases de données et tables de la base de données
  • mysql enregistre les informations de configuration telles que le fuseau horaire et les autorisations
  • sys enregistre les informations relatives aux verrous et aux statistiques
  • performance_schema est utilisé pour réaliser les statistiques d'utilisation des ressources du processus en cours d'exécution
  • tester la base de données non système, uniquement pour les échantillons de test

Opérations de table de données

Syntaxe de base pour créer une table de données :create table 数据表的名称(数据列的名称 数据类型 约束规则,......)engine= 存储引擎名称 default charset utf8;

create table tb_student( -- 这里可以加入if not exists表示不存在时才进行创建。注意在一 
个数据库中的表名称不允许重复。按照阿里的规范,要求基表名称必须使用【tb_表】 
id bigint primary key auto_increment, 
name varchar(20) not null, 
sex boolean default 1 -- 在mysql数据库中有一些属性数据类型的别名
 ) engine=innodb default charset utf8; 
 -- 实际上从MySQL5.5开始默认存储引擎就是innodb, 但是一般建议还是添加上存储引擎的设置

Une fois la table de données créée, vous trouverez un fichier tb_student.ibd dans le répertoire data/test

Les moteurs de stockage couramment utilisés sont innodb et myisam. Si vous utilisez myisam, deux fichiers seront créés, 1. le fichier d'informations de données .myd, qui contient les données de la table ; 2. le fichier d'informations d'index .myi, qui est utilisé pour Index données pour améliorer l'efficacité des requêtes

Afficher la définition de colonne dans le tableau desc tb_student;
Afficher la définition de colonne spécifiqueshow create table tb_student;

nommage de l'identifiant

La spécification de caractère impliquée dans la base de données, notez qu'il ne s'agit pas d'une règle grammaticale, c'est une règle suggérée

  • Composé de az lettres anglaises, chiffres 0-9 et trait de soulignement_, un total de 63 caractères, aucun autre caractère ne peut apparaître, sauf s'il s'agit d'un commentaire
    • Pas sensible à la casse
    • Il n'y a en fait aucune erreur grammaticale dans l'utilisation des caractères chinois, mais ce n'est pas recommandé
  • En règle générale, la longueur du nom ne doit pas dépasser la limite système de 30 caractères. Étant donné que le nom de la variable doit utiliser l'identifiant @, la longueur est limitée à 29 caractères.
  • Les objets et les variables de la base de données sont nommés en caractères anglais, les noms chinois sont interdits et les espaces ne sont absolument pas autorisés au milieu des noms d'objets
    • Si vous enfreignez les règles du processus de nommage et que vous introduisez des backticks, c'est bien, faites attention à ne pas utiliser de guillemets simples
    • create table t 1(id int);
  • Soyez prudent avec les mots réservés et essayez de vous assurer que les mots réservés ne sont pas utilisés dans la dénomination pour éviter les conflits
  • Faites attention à la cohérence des noms de champs et des noms de types dans le développement

Guess you like

Origin blog.csdn.net/qq_39756007/article/details/126959507