diff --git a/Spatial.md b/Spatial.md index 2745cca..7b28730 100644 --- a/Spatial.md +++ b/Spatial.md @@ -1,6 +1,4 @@ ---- -title: Base de données spatiales ---- +# Base de données spatiales > [!NOTE] > **définition :** Une base de données spatiale est une base de données optimisée pour stocker, interroger et manipuler des données géométriques en 3 dimensions (spatiales) et par extension des données géographiques. @@ -59,7 +57,7 @@ Quelques SRID populaires Il existe des dizaines d'autres système suivant l'endrit du monde que l'on veut représenter. -### Quand utiliser le type de données Géographie ? +### Quand utiliser le type de données Géographie ? Le type de données géographie permet de stocker des données en coordonnées longitude/latitude, mais à un coût : il y a moins de fonctions définies sur `GEOGRAPHY` que sur `GEOMETRY` ; les fonctions qui sont définies demandent plus de temps de traitement CPU pour être exécutées. @@ -88,20 +86,6 @@ select ST_PointFromText('POINT(15 5)'); `ST_MakePoint` n'est pas conforme au standard mais il a l'avantage d'être rapide et de travailler sur des nombres à la place du texte. -```geojson -{ - "type": "Polygon", - "coordinates": [ - [ - [-90,30], - [-90,35], - [-90,35], - [-85,35], - [-85,30] - ] - ] -} -``` ### Ligne diff --git a/sql.dcl.md b/sql.dcl.md index c24be83..f67916f 100644 --- a/sql.dcl.md +++ b/sql.dcl.md @@ -10,7 +10,7 @@ Le DCL est utilisé principalement par les administrateurs de bases de données Cette commande permet d'accorder des privilèges à des utilisateurs ou des rôles. Par exemple, elle peut autoriser un utilisateur à lire, modifier ou supprimer des données dans une table spécifique. ```sql -GRANT SELECT ON livres TO albert; +GRANT SELECT ON livre TO albert; ``` ### Revoke @@ -18,15 +18,15 @@ GRANT SELECT ON livres TO albert; Cette commande permet de retirer des privilèges précédemment accordés à un utilisateur ou un rôle ```sql -REVOKE SELECT ON livres FROM albert; +REVOKE SELECT ON livre FROM albert; ``` ### Deny -Cette coomande est utilisée dans certains systèmes, comme Microsoft SQL Server, pour refuser explicitement des privilèges à un utilisateur ou un rôle, même si celui-ci a reçu des permissions via la commande GRANT +Cette commande est utilisée dans certains systèmes, comme Microsoft SQL Server, pour refuser explicitement des privilèges à un utilisateur ou un rôle, même si celui-ci a reçu des permissions via la commande GRANT ```sql -DENY SELECT ON table_name TO user_name; +DENY SELECT ON livre TO albert; ``` #### Pourquoi utiliser Deny ? diff --git a/tp1.md b/tp1.md index d2fbd49..db4312e 100644 --- a/tp1.md +++ b/tp1.md @@ -8,6 +8,21 @@ Ajouter les couches - Zommer sur l'ile de Batz (En Bretagne, au nord de Morlaix) +### POI (Point of Interest) +- Ajouter une nouvelle table pour les points +- Ajouter un point depuis QGIS : menhir de Kreach ar Bolloch (A) un autre sur le menhir de Porz ar Roc'h +- Calculer la distance entre les 2 menhirs +- Importer le fichier point.csv + +```sql +create table point ( + id serial primary key, + nom text not null, + altitude double precision, + geom geometry(point, 4326) not null +); +``` + 2. Créer une table zone ```sql @@ -49,11 +64,7 @@ create table zone ( - Fusionner les 3 régions pour faire une entité ile - Faire l'intersection des pinèdes avec l'ile pour découper proprement ces zones -### POI (Point of Interest) -- Ajouter une nouvelle table pour les points -- Ajouter un point depuis QGIS : menhir de Kreach ar Bolloch (A) un autre sur le menhir de Porz ar Roc'h -- Calculer la distance entre les 2 menhirs -- Importer le fichier point.csv + ### Route diff --git a/vecteurs.md b/vecteurs.md index 44c67d3..55f533b 100644 --- a/vecteurs.md +++ b/vecteurs.md @@ -193,6 +193,13 @@ Mais quand la dimension n augmente, les distances entre points tendent à se res - [Indexation vectorielle](vecteurs.index) +## PostgreSQL + +- `<->` Distance L2 +- `<+>` Distance L1 +- `<#>` Produit scalaire +- `<=>` Similarité cosinus + ## Exercice 1. Construire une base de produits avec vecteurs nutritionnels.