[PYTHON] Introduction à RDB avec sqlalchemy Ⅰ

Base de données

Qu'est-ce que DB

Oubliez le mot RDB et apprenez d'abord la base de données de mots.

DB (Database: Database) est ** une collection d'un grand nombre de données pour une utilisation ultérieure **. Par exemple, un carnet d'adresses ou un répertoire téléphonique peut également être appelé un DB.

En particulier, DB est indispensable pour les services Web. Par exemple, un site de recherche aura besoin d'une base de données qui collecte des sites Web, et un SNS comme Twitter aura besoin d'une base de données qui collecte les publications.

DB et SGBD

Il existe un type de logiciel appelé DBMS (Database Management System) pour utiliser DB.

La base de données seule n'est que des données, mais en utilisant le SGBD, vous pouvez facilement effectuer des opérations telles que l'ajout de données à la base de données et la recherche de données dans la base de données.

La relation entre la base de données et le SGBD est tout comme la relation entre les fichiers xlsx et Excel. Les données sont enregistrées dans le fichier xlsx, mais vous ne pouvez pas les afficher ou les modifier sans Excel. De la même manière, le SGBD est indispensable pour faire fonctionner DB.

Veuillez noter que les bases de données et les SGBD sont souvent appelés collectivement des bases de données. Dans cet article, les bases de données et les SGBD sont distingués, sauf indication contraire.

Modèle de données

La façon dont la base de données stocke les données est appelée «modèle de données».

Il existe de nombreuses façons différentes de stocker des données, mais en voici quelques-unes.

Résumé

--DB (Database) est une collection de beaucoup de données pour une utilisation ultérieure. --DBMS est un terme général pour le logiciel d'exploitation de DB, et est indispensable pour utiliser DB.

Base de données des relations

Qu'est-ce que RDB

RDB (Relational Database) est une base de données basée sur le modèle relationnel, et le SGBD de RDB est appelé RDBMS.

Le modèle relationnel stocke les données sous forme de tableau. Si c'est difficile à imaginer, il est normal de reconnaître que le SGBDR est quelque chose comme Excel.

À titre d'exemple, créez un tableau montrant le menu.

+----+-----------+------+
| id | name      | kcal |
+----+-----------+------+
|  1 |Curry meshi|  500 |
|  2 |Kibiyak|  100 |
+----+-----------+------+

ligne

Tout d'abord, regardons le tableau en se concentrant sur la direction horizontale (Row: Row). La première ligne est extraite comme suit. Notez que la ligne du haut est l'en-tête, pas le corps des données.

+----+-----------+------+
| id | name      | kcal |
+----+-----------+------+
|  1 |Curry meshi|  500 |
+----+-----------+------+

Comme vous pouvez le voir, la ligne représente un élément de données.

Ensuite, regardons le tableau en se concentrant sur la direction verticale (Colonne: Colonne). La colonne de nom est extraite comme suit.

+-----------+
| name      |
+-----------+
|Curry meshi|
|Kibiyak|
+-----------+

En extrayant des colonnes de cette manière, il est possible de comparer plusieurs données par un certain élément.

Résumé

--RDB est une base de données basée sur le modèle de relation et stocke les données sous la forme d'une table.

Ce que le SGBDR peut faire

Opérations sur les tables

--Créer une nouvelle table --Supprimer la table existante --Modifier la structure de la table existante

Changer la structure d'une table existante signifie ajouter ou supprimer des colonnes de la table existante.

Manipulation des données

--L'acquisition des données --Créer de nouvelles données --Suprimmer les données --Mettre à jour les données

Parmi ceux-ci, à part une nouvelle création, il peut être appliqué après avoir effectué les opérations suivantes.

En les combinant, par exemple, les opérations suivantes sont possibles.

--Supprimer les données avec kcal de 200 ou moins --Trier les données avec des kcal de 200 ou moins par ordre croissant de kcal et mettre à jour les 10 premiers kcal à 100 --name récupère les données du curry meshi

Il s'agit d'une spécification très flexible.

Résumé

--RDBMS peut fonctionner sur des tables et des données.

Ce résumé

Cette fois, j'ai expliqué que DB / RDB et RDBMS peuvent être faits. Vous n'avez pas à vous souvenir de tout parfaitement, mais le contenu du "résumé" est important, essayez donc de le garder aussi bas que possible.

La prochaine fois, j'utiliserai enfin RDB de Python en utilisant sqlalchemy.

Recommended Posts

Introduction à RDB avec sqlalchemy Ⅰ
Introduction à RDB avec sqlalchemy II
Comment mettre à jour avec SQLAlchemy?
Comment modifier avec SQLAlchemy?
Comment supprimer avec SQLAlchemy?
Connectez-vous à plusieurs bases de données avec SQL Alchemy
Comment INNER JOIN avec SQL Alchemy
Introduction à MQTT (Introduction)
Introduction à Scrapy (1)
[Introduction à WordCloud] Jouez avec le scraping ♬
Introduction à Scrapy (3)
Premiers pas avec Supervisor
Introduction à Tkinter 1: Introduction
Comment obtenir l'identifiant du parent avec sqlalchemy
Introduction à PyQt
Introduction à Scrapy (2)
[Introduction à Python] Utilisons foreach avec Python
[Linux] Introduction à Linux
[Introduction à Pytorch] J'ai joué avec sinGAN ♬
Introduction à Scrapy (4)
Introduction à discord.py (2)
Comment utiliser SQLAlchemy / Connect avec aiomysql
Introduction aux tests d'hypothèses statistiques avec des modèles de statistiques
[Python] Introduction facile à l'apprentissage automatique avec python (SVM)
Introduction à l'intelligence artificielle avec Python 1 «Théorie des algorithmes génétiques»
Markov Chain Artificial Brainless avec Python + Janome (1) Introduction à Janome
Chaîne de Markov artificielle sans cervelle avec Python + Janome (2) Introduction à la chaîne de Markov
Introduction à l'intelligence artificielle avec Python 2 «Pratique de l'algorithme génétique»
[Introduction à StyleGAN2] Apprentissage indépendant avec 10 visages d'anime ♬
Introduction à Tornado (1): Framework Web Python démarré avec Tornado
Introduction au vol en formation avec Tello edu (Python)
[Introduction à minimiser] Analyse des données avec le modèle SEIR ♬
Introduction à Python avec Atom (en route)
Introduction aux modèles de retour automatique vectoriel (VAR) avec des modèles de statistiques
Introduction au modèle linéaire généralisé (GLM) par Python
[Introduction à l'application Udemy Python3 +] 9. Tout d'abord, imprimez avec print
Convertir 202003 en 2020-03 avec les pandas
Premiers pas avec le Web Scraping
Introduction aux baies non paramétriques
Introduction au langage Python
Introduction à la reconnaissance d'image TensorFlow
Introduction à OpenCV (python) - (2)
Introduction à PyQt4 Partie 1
Introduction à l'injection de dépendances
Introduction à Private Chainer
Utiliser Enum avec SQLAlchemy
Introduction à l'apprentissage automatique
[Introduction à Python] Comment itérer avec la fonction range?
[Introduction à WordCloud] Il est facile à utiliser même avec Jetson-nano ♬
Comment convertir un objet de classe en dictionnaire avec SQLAlchemy
[Chapitre 5] Introduction à Python avec 100 coups de traitement du langage
Introduction au traitement parallèle distribué Python par Ray
Note de lecture: Introduction à l'analyse de données avec Python
[Chapitre 6] Introduction à scicit-learn avec 100 coups de traitement du langage
Comment obtenir plus de 1000 données avec SQLAlchemy + MySQLdb
[Chapitre 3] Introduction à Python avec 100 coups de traitement du langage
[Introduction à Pytorch] J'ai essayé de catégoriser Cifar10 avec VGG16 ♬
[Chapitre 2] Introduction à Python avec 100 coups de traitement du langage
Introduction aux modèles de correction d'erreur vectorielle (VECM) avec des modèles de statistiques