D'accord, nous reviendrons.
Il est temps pour nous de commencer à travailler avec des bases de données interagir endroits.
Et avant que nous écrivons le code, je veux juste prendre quelques minutes ici, donc nous serons assez vite pour parler de ce que les bases de données sont réellement, puis d'introduire deux grandes catégories de bases de données qui sont des séquelles ou Escudo contre aucune suite ou non.
Q Toutes les bases de données.
D'ACCORD.
Alors commençons ici et pour commencer je veux illustrer le problème que nous avons en ce moment.
J'ai la démo de demande POST qui exécute ces amis là où je peux énumérer tous mes amis et nous pouvons ajouter quelques nouveaux amis.
Je viens de faire un nouveau nommé aujourd'hui Garfield et un autre ami nommé sa mine.
D'ACCORD.
Et puis je peux revenir ici et si je coupe le serveur et recommence et je rafraîchis ma page.
Vous venez de perdre deux amis.
Donc, le problème auquel nous sommes confrontés est que nos données ne persiste pas si notre serveur s'arrête pour quelque raison que ce soit parce que nous l'avons désactivé.
Nous voulions le redémarrer.
Nous avons apporté quelques modifications au code ou si c'est parce que le pouvoir s'éteint ou un événement freak arrive si le serveur s'arrête, nous perdrions toutes les données qui est évidemment vraiment une chose vraiment mauvaise pour une application web.
Si Facebook a perdu vos données chaque fois que vous avez déconnecté ou chaque fois que le serveur a arrêté ce serait vraiment vraiment mauvais pour Facebook, même si cela pourrait être assez bon pour moi.
Je serais productif.
J'ai arrêté de me comparer à mes amis à Stop essayer de prouver à tout le monde que je vis une vie amusante et je viens de faire des trucs.
Donc, tout cela signifie que les bases de données nous aideront à résoudre ce problème.
Alors parlons de ce que les bases de données sont dans la définition la plus simple possible.
La base de données est une collection de données d'information, mais une base de données n'est pas seulement une collection d'informations.
Donc, si nous avions un fichier juste un fichier texte et sublime qui avait un tas d'informations et l'a sauvé qui ne serait pas une base de données.
Oui, il pourrait stocker des données pour nous.
Il peut s'agir d'une collection d'informations, mais l'autre aspect important des bases de données est qu'ils ont une interface pour interagir avec ces données, qu'il s'agisse d'ajouter de nouvelles informations comme l'ajout d'un nouvel utilisateur à la base de données ou de supprimer tous les utilisateurs ou de modifier un utilisateur existant ou Quoi qu'il en soit il doit y avoir un moyen pour nous d'interagir avec les données.
Donc, une base de données est une collection d'informations slushed données et il a une interface.
Quand je dis interface, je veux dire que nous pouvons écrire du code pour interagir avec elle.
Donc, si vous avez déjà travaillé avec une base de données séquelle avant que vous pourriez avoir vu des choses comme cette étoile de sélectionner, je devrais capitaliser cela.
C'est comme l'étoile des utilisateurs.
Ou vous pouvez voir quelque chose comme insert bla bla bla dans.
Et c'est une langue appelée suite et c'est l'interface avec certaines bases de données que la langue que nous allons utiliser ressemble à ceci.
D-B point chiens dot ou D-B points dot effacer et supprimera les chiens où nous avons l'âge juste 14.
Malheureusement tous mes chiens sont morts à cet âge et je veux en parler et je vais supprimer tous les chiens où l'âge est de 14 ans.
Nous allons entrer dans les détails de la langue dans la prochaine vidéo, mais je veux juste que vous soyez au courant.
C'est ce que je veux dire quand je dis qu'il ya une interface pour la collecte des données d'information slash.
D'ACCORD.
Donc, la dernière chose que je veux faire est de parler des deux grandes catégories ou deux des grandes catégories de bases de données et ceux qui sont suite qui est également appelée bases de données relationnelles contre non.
Comme vous le savez bien suite qui sont appelées bases de données non relationnelles lorsque je parle à mes étudiants sur les bases de données beaucoup d'entre eux ont eu une certaine expérience avec une sorte de base de données qu'ils soient dans le marketing ou de détail ou quelque chose en ligne.
Presque toutes les entreprises ont une base de données, généralement beaucoup de bases de données avec beaucoup d'informations en elle si c'est une base de données pour tous les Skewes dans l'écart ou une base de données pour la paie de tous les employés et ce qu'ils ont été payés et quand ou Si c'est un tas de données sur des utilisateurs comme Facebook a où il stocke toutes vos informations d'utilisateur sur vos photos vos commentaires vos messages vos goûts vos tags tout ce truc est stocké dans des bases de données.
Quand je parle aux étudiants sur les bases de données, les étudiants qui sont familiers et ont l'expérience avec des bases de données ont presque toujours seulement l'expérience avec la suite ou les bases de données relationnelles et c'est parce que les bases de données de suite ont été autour de la plus longue et ils sont ce que la plupart des gens pensent quand ils pensent Une base de données.
Donc, maintenant parlons de ce que les bases de données séquelle ce que les moyens relationnels.
Les bases de données séquentielles sont donc des bases de données tabulaires et elles sont plates.
Laissez-moi vous montrer ce que je veux dire.
Donc, j'ai quelques diagrammes bruts que j'ai tapé et ce qui montre ce que les tables pour une base de données impliquant des utilisateurs et des commentaires pourrait ressembler.
Commençons par nous concentrer sur les utilisateurs.
Donc ce que nous devons faire dans une base de données relationnelle ou une base de données Seacole est de définir ce qu'est un utilisateur ressemble.
Ainsi, un utilisateur a un ID comme nom et âge et une ville et chaque utilisateur que nous ajoutons doit suivre ce modèle.
Nous définissons donc ces tables et ensuite nous ajoutons des instances de l'utilisateur ou des utilisateurs à cette table et puis supposons que j'ai aussi des commentaires.
Donc, je veux qu'un utilisateur puisse commenter.
J'ai donc une table de commentaires et tout ce qu'un commentaire a est un ID et un texte du commentaire comme EHLO ou venez visiter le Montana ou j'aime des chiots si je veux qu'il y ait une relation entre les utilisateurs et les commentaires où un utilisateur peut avoir un commentaire Ceux qui lui sont associés.
Donc, Ira, j'entends qui est de 24 Missoula peut être associé à certains de ces commentaires ici.
Comme venez visiter Montana et sérieusement Montana est grand.
La seule façon de faire cela pour exprimer cette relation est à travers une autre table qui est ce que nous avons ici.
Et ce sont des tables de jointure.
Et ce que fait ce tableau, c'est qu'il rejoint l'ID d'un utilisateur avec un ID de commentaire.
Donc, dans ce cas, nous voyons que l'utilisateur avec ID un possède le commentaire avec ID 3.
Donc, cela signifie que Tim a dit que j'aime les chiots et l'utilisateur avec l'idée de deux commentés deux fois et ces commentaires ou idée d'une idée pour.
Ainsi, nous pouvons voir que IRA a commenté venir visiter le Montana et aussi sérieusement.
Montana est super.
Et oui 110 est grand.
Ce que je veux vraiment montrer avec tout cela, c'est que tout est tabulaire.
Nous devons donc définir une table à l'avance et ce n'est pas très flexible du tout.
Supposons que je voulais ajouter un autre attribut à l'IRA qui était la couleur préférée et je voulais le mettre en pourpre.
Je devrais alors aller ajouter une couleur préférée pour tout le monde.
Appelons juste une couleur de fav et il devrait être vide ainsi je devrais avoir Noel ou indéfini ou nyl ou juste faux ou quelque chose ici pour chaque personne seule.
Ce n'est donc pas flexible.
Ce que je dois faire est de définir les modèles exacts de ce qu'est un utilisateur ressemble et puis je dois suivre ce modèle très étroitement.
Donc, l'autre type de bases de données non relationnelles ou pas de base de données et vous les attrapez probablement ici.
Nous n'avons pas à définir les modèles à l'avance.
Ils sont beaucoup plus flexibles.
Voici donc un exemple de représentation d'une base de données non relationnelle.
Il n'y a pas de tables.
Nous n'avons donc pas à définir cette structure tabulaire et les choses peuvent être imbriquées.
Ce n'est donc pas une base de données plate.
Donc vous pouvez voir ici, il ressemble à javascript.
En fait, c'est vraiment très similaire.
C'est quelque chose appelé battement sur lequel se tient pour la notation d'objet javascript binaire, mais c'est essentiellement des objets javascript que nous sommes familiers avec et ils ont un tas de paires valeur clé donc nom est Ira.
L'âge est 24 ville est Missoula.
Et puis c'est la partie vraiment importante.
Les commentaires peuvent simplement être imbriqués à l'intérieur des données.
Je n'ai pas à traiter avec IDS.
Je n'ai pas à définir ce tableau à l'avance.
Je peux juste jeter des commentaires ici et commencer juste à ajouter des objets et si je recommit quelque chose d'autre je peux juste ajouter dans un autre commentaire pousser dans ce tableau.
Et donc ce commentaire pourrait dire pourquoi personne ne se soucie de Tanno.
Et c'est une très bonne question.
Je ne sais pas non plus.
Donc, nous finissons maintenant avec cette structure très très flexible où si nous voulions, je pourrais simplement définir la couleur préférée ici.
Fav couleur est violet et puis je pourrais avoir un autre utilisateur qui est appelé Tammy.
Et Tammy peut être 24 d'un zoo aussi et elle n'aura pas une couleur fave du tout.
Et au lieu de cela elle a préféré la nourriture qui est revi.
D'accord.
Donc c'est assez de cela.
Mais je voulais vraiment me concentrer sur tout cela, c'est la différence entre relationnel et non relationnel donc pas les détails nuisibles de la syntaxe ou comment il fonctionne réellement juste la grande différence que les bases de données suite ou bases de données relationnelles ont été autour de la plus longue.
Sont ce que la plupart des gens pensent de quand ils pensent des bases de données où nous devons définir une table.
Tout est tabulaire et si nous voulons relier des données, nous devons avoir plusieurs tables pour relier ces données et nous, nous utilisons souvent des identifiants pour le faire avec une base de données non relationnelle qui est ce sur quoi nous allons nous concentrer pour la plupart de cette cours.
Nous n'avons pas à définir de tableaux quelconques.
Nous n'avons pas de tables du tout et nous avons plutôt une structure beaucoup plus flexible.
Maintenant, cela ne veut pas dire que les bases de données non relationnelles sont meilleures.
En fait dans beaucoup de cas ils ne sont pas presque dans tous les cas mais il ya des situations spécifiques où ils font sens et je vais parler de pourquoi nous utilisons une base de données non relationnelle dans la prochaine vidéo.
Mais je n'ai pas besoin d'avoir l'impression que parce que c'est plus souple, il est en soi mieux.
Ce n'est pas le cas, mais il est plus flexible que si c'est ce que vous cherchez, alors vous voulez utiliser une base de données non relationnelle.
Très bien, allons-y.
Une base de données est une collection d'informations.
Il a une interface une sorte de langue une sorte de technologie ou des outils pour interagir avec les données ajouter de nouvelles choses lire les choses de la base de données supprimer des choses modifier des choses et puis il ya deux grandes catégories de séquelles de bases de données et aucune suite.
D'ACCORD.