initial commit
|
After Width: | Height: | Size: 3.0 KiB |
@@ -0,0 +1,124 @@
|
||||
# UTC504-15-10-2024
|
||||
|
||||
Cour de tron commun, 28 heures.
|
||||
|
||||
But -> se familiariser avec un système d'information et principalement des bases de données.
|
||||
La conception, son exploitation et la sécurisation d'une base de données.
|
||||
|
||||
Qu'est ce qu'un système d'information :
|
||||
***L'ensemble des ressources, matériels et imatériel necessaire et suffisante pour assurer le bon fonctionnement d'une structure.***
|
||||
|
||||
L'urbanisation des SI :
|
||||
|
||||
L'urbanisation du système d'information d'une entité ou d'une organisation, qui peut être une entreprise ou une administration, est une discipline d’ingénierie informatique consistant à faire évoluer le système d'information (SI) de celle-ci afin qu'il soutienne et accompagne efficacement les missions de ladite organisation et anticipe ses transformations1. L'urbanisation du SI ne fait pas table rase du passé mais tient compte de l'existant et permet de mieux envisager les évolutions ou contraintes internes et externes affectant le SI, en s'appuyant le cas échéant sur des opportunités technologiques. Les concepts manipulés s'apparentent à ceux de l'urbanisation de l'habitat humain (organisation des villes, du territoire), concepts qui ont été réutilisés en informatique2 pour formaliser ou modéliser la réingénierie du système d'information (SI)
|
||||
|
||||

|
||||
|
||||
|
||||
### On-site : les infrastructures sont sur sites.(DGFIP)
|
||||
|
||||
### IaaS : Infrastructure as a service(AWS, Orange BZ)
|
||||
L'IaaS est un service de cloud computing offrant des ressources informatiques matérielles (stockage, réseau, baies de serveurs) au sein d'un environnement virtualisé, par le biais d'Internet ou d'une autre connexion.
|
||||
|
||||
**Service Cloud**
|
||||
|
||||
Deux type de contrat :
|
||||
* public : On partage les baies avec d'autre clients.
|
||||
* privée : On privétise les structures louée.
|
||||
|
||||
C'est le système le plus demandé par les entreprises.
|
||||
|
||||
### PaaS : Platform as a service
|
||||
|
||||
|
||||
|
||||
### Saas : Software as a Service
|
||||
|
||||
Saas privée est le plus sécuriser. Car ton infrasructure dépend des services proposé et donc de leur sécurité. Ils se doivent d'être le plus sécurisé et à jours possible.
|
||||
|
||||
|
||||
|
||||
## Base de données
|
||||
|
||||
* Qu'est ce qu'une base de données ?
|
||||
|
||||
Une base de donnée est est un enssemble de données organisé de manière structurés, organisé, et sécurisé.
|
||||
|
||||
* Les principales fonctions d'une base de données ?
|
||||
|
||||
-Stocker l'information de façon fiable
|
||||
|
||||
-Traiter de grand volumes de données
|
||||
|
||||
-Traiter rapidement kes données
|
||||
|
||||
-Sécuriser les accès aux données
|
||||
|
||||
-Controlle la qualité des données
|
||||
|
||||
-Partager les données
|
||||
|
||||
-Rendre accécible les données en réseau
|
||||
|
||||
Le Data mining est la pratique consistant à rechercher automatiquement de grandes quantités de données afin de découvrir des tendances et des modèles qui vont au-delà de la simple analyse.
|
||||
|
||||
* Une base de donnée relationnelle
|
||||
|
||||
La base de données permet d'organiser les données en tables (appellé relation)
|
||||
Chaque case de la table continent une information atomique
|
||||
Chaque ligne correspond à un objet.
|
||||
Chaque colonne correspond à une propriété.
|
||||
|
||||
* Une base de donnée orienté objet
|
||||
|
||||
C'est un type de base de donnée qui a explosé ces dernières année (block chaine)
|
||||
|
||||
* SGBD
|
||||
|
||||
|
||||
|
||||
* Exemples de SGBD
|
||||
|
||||
Oracle, Postgres, MySQL, MariaDB, MongoDB....
|
||||
|
||||
## étape clé
|
||||
|
||||
Analyse -> extraire -> structurer (MCD ou MEA) -> MLD -> MPD
|
||||
|
||||
## MCD (modèle conceptuel de données)
|
||||
|
||||

|
||||
|
||||
**Une entité** représente un objet ou un concept spécifique qui peut être stocké et manipulé dans une base de données
|
||||
|
||||
**Un attribut** est une caractéristique d'une entité susceptible d'être enregistrée dans la base de données. Par exemple, une personne (entité), son nom et son adresse (des attributs). Les attributs sont également appelés des champs ou des colonnes. Dans un MCD un attribut sera toujours souligé
|
||||
|
||||
**L'Identifiant** est une propriété unique et soulignée qui est présente dans les entités d'une modélisation MCD Merise.
|
||||
|
||||
**Une association** ou relation est donc la représentation d’une liaison logique entre plusieurs entités.
|
||||
- **La cardinalité** d'une association permet de représenter le nombre minimum et maximum d'instances qui sont autorisées à participer à la relation. La cardinalité est définie pour les deux sens de la relation.
|
||||
- **Les attributs** d'une association ,l'emprunt d'un livre par une personne à une certaine date par exemple.
|
||||
- **le type** d'une association (1,0 ou 0,N etc)
|
||||
|
||||
|
||||
>ORM : Un mapping objet-relationnel (en anglais object-relational mapping ou ORM) est un type de programme informatique qui se place en interface entre un programme applicatif et une base de données relationnelle pour simuler une base de données orientée objet.
|
||||
|
||||
## Correction Exo Mini Monde
|
||||
|
||||
Considérons la BD ENTREPRISE qui contient les données sur les employés, les services et les projets d’une société. Suite à la collecte de l’analyse des besoins, les
|
||||
concepteurs fournissent la définition suivante du « minimonde » :
|
||||
|
||||
* La société est organisée en services. Chaque service a un nom et un numéro
|
||||
uniques et est dirigé par un employé unique.
|
||||
* Un service contrôle un certain nombre de projets, chacun d’entre eux ayant un nom, un numéro et une durée. Un projet ne peut être contrôlé que par un seul service.
|
||||
* Le nom de chaque employé, son numéro de sécurité sociale, son adresse, son salaire, son sexe et sa date de naissance sont mémorisés. Un employé est affecté à un service, mais peut travailler sur plusieurs projets qui ne sont pas forcément contrôlés par le même service. Le volume du travail d’un employé sur chaque projet est mémorisé.Le supérieur immédiat de chaque employé est lui aussi mémorisé.
|
||||
|
||||
Vous allez identifier les entités de la base de données Entreprise ainsi que les
|
||||
attributs.
|
||||
|
||||
| Entités | Attributs |
|
||||
| :---------------: | :---------------: |
|
||||
| SERVICES | nom, numéro uniques, un employé unique |
|
||||
| PROJETS | nom, numéro, durée, un seul service |
|
||||
| EMPLOYE | numéro de Sécurité social, adresse, salaire, sexe, dateDeNaissance, IdentifiantSupérieurImmediat |
|
||||
| SUPERIEUR_IMMEDIAT |numéro de Sécurité social, adresse, salaire, sexe, dateDeNaissance, IdentifiantSupérieurImmediat |
|
||||
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 172 KiB |
@@ -0,0 +1,48 @@
|
||||
# UTC504-16-10-2024
|
||||
|
||||
## Les associations
|
||||
|
||||
C'est une liaison qui va nous permetrer de créer un sens entre les entiters.
|
||||
|
||||
Elle peuvent t'être porteuse d'informations
|
||||
* les cadinalité
|
||||
* les attributs
|
||||
* les contraintes (CIF/CIM)
|
||||
|
||||
### Les cardinalités
|
||||
|
||||
Exprime la façon dont sont associées les entités.
|
||||
Elle s'emprime toujours par un minimum et un maximum.
|
||||
|
||||
**Les combinaisons possible :**
|
||||
|
||||
* 0,1 -> minimum 0, maximum 1
|
||||
* 0,n -> minimum 0, maximum oo
|
||||
* 1,1 -> minimum 1, maximum 1
|
||||
* 1,n -> minimum 1, maximum oo
|
||||
* n,n -> minimum x, maximum x
|
||||
* n,m -> minimum x, maximum y
|
||||
|
||||
Une association peut-avoir des attribut. Le principe de base d'un atribut dans une association c'est d'avoir une information qui concerne les deux tables.
|
||||
|
||||
### Atribut des associations
|
||||
|
||||
Toute relations binaires (association entre deux table), avec cardinalité 1,1 ne peuvent être porteuses d'attribut dans cette partis.
|
||||
|
||||
### Association plurielle
|
||||
|
||||
2 Associations differentes qui relie 2 entiters.
|
||||
|
||||
### Association reflexive
|
||||
|
||||
Association qui va nous ramener vers la table.
|
||||
|
||||
### Associations n-aires / ternaire
|
||||
|
||||
Association ternaire (3 entités), il faut les éviter le plus possible si elles sont superieur à 3 entiter.
|
||||
Boucle fermer entre 3 entiter et 3 associations.
|
||||
On peut a la place utiliser 3 entiter et seulement 1 association.
|
||||
|
||||
### Entité faible
|
||||
|
||||
Entité qui ne peut avoir un sens seulement que si elle est lié a une autre entité.
|
||||
|
After Width: | Height: | Size: 51 KiB |
@@ -0,0 +1,2 @@
|
||||
# UTC 504-15-10-2024
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
-- Adminer 4.7.5 MySQL dump
|
||||
|
||||
SET NAMES utf8;
|
||||
SET time_zone = '+00:00';
|
||||
SET foreign_key_checks = 0;
|
||||
SET sql_mode = 'NO_AUTO_VALUE_ON_ZERO';
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
|
||||
DROP TABLE IF EXISTS `etablissement`;
|
||||
CREATE TABLE `etablissement` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`nom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL,
|
||||
`adresse` varchar(128) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`telephone` int(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`fax` in(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL,
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
`updated_at` timestamp NULL DEFAULT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `formation`;
|
||||
CREATE TABLE `formation` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`nom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'La date de création du type',
|
||||
`updated_at` timestamp NULL DEFAULT NULL COMMENT 'La date de la dernière mise à jour du type',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `personnel`;
|
||||
CREATE TABLE `personnel` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`nom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`prenom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`nom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'La date de création du type',
|
||||
`updated_at` timestamp NULL DEFAULT NULL COMMENT 'La date de la dernière mise à jour du type',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
|
||||
DROP TABLE IF EXISTS `eleve`;
|
||||
CREATE TABLE `eleve` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`nom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`prenom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`nom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'La date de création du type',
|
||||
`updated_at` timestamp NULL DEFAULT NULL COMMENT 'La date de la dernière mise à jour du type',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
DROP TABLE IF EXISTS `entreprise`;
|
||||
CREATE TABLE `entreprise` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`nom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`prenom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`nom` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'Le nom du type',
|
||||
`created_at` timestamp NOT NULL DEFAULT current_timestamp() COMMENT 'La date de création du type',
|
||||
`updated_at` timestamp NULL DEFAULT NULL COMMENT 'La date de la dernière mise à jour du type',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
|
||||
|
||||
|
||||
|
||||
-- 2020-04-10 22:54:29
|
||||
@@ -0,0 +1,20 @@
|
||||
# UTC 504-27-11-2024
|
||||
|
||||
## Héritage
|
||||
|
||||
Un indentifiant unique.
|
||||
un sous-ensembles spécialisation, sans indentifiant.
|
||||
|
||||
## Cours_2_Partie2_SI_Gen_Speci-Exemples.pdf
|
||||
|
||||
### Exemple 1 :
|
||||
|
||||

|
||||
|
||||
### Exemple 2 :
|
||||
|
||||

|
||||
|
||||
### Exemple 3 :
|
||||
|
||||

|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 31 KiB |
@@ -0,0 +1,72 @@
|
||||
|
||||
# UTC504-Notions-SQL-PhpMyAdmin
|
||||
> Guillaume SANCHEZ, Tom BAZIRE, Anthony MVAKANGA
|
||||
## Les solutions pour créer une BDD :
|
||||
Plusieurs possibilités s'offrent à nous. Tout d'abord à la main, en écrivant directement dans un terminal ou dans un fichier .sql à importer.
|
||||
|
||||
Exemple (MySQL/MariaDB) :
|
||||
```
|
||||
CREATE DATABASE 'data_base_name';
|
||||
```
|
||||
Une seconde solution est d'utiliser un outil de gestion de base de données comme phpMyadmin, Adminer, sqldeveloper.
|
||||
|
||||
Exemple de création de base de données avec phpMyAdmin :
|
||||
|
||||

|
||||
On peut également utiliser un ORM (Object-Relational Mapping). Cela permet de faire le lien entre les objets de ton code et les données de ta base de donées. Je n'en connais que certaines utiliser dans le web comme par exmple sequelize pour node.js(javascript) Eloquent pour laravel (php) ou encore doctrine pour symphony (php).
|
||||
|
||||
En plus de pouvoir créer et gérer la structure d'une base de donnée d'un projet, ces outils permetes de générer pour la plupars d'entre eux de fausse donnée afin de remplir les base de donneés et de réasliser des test reels avec des donnée fictives.
|
||||
|
||||
## Définir SQL, MySQL, PhpMyadmin
|
||||
|
||||
**SQL** (sigle pour Structured Query Language, « langage de requêtes structurées ») est un langage de programmation standard spécialement conçu pour stocker, extraire, gérer ou manipuler les données à l'intérieur d'un système de gestion de bases de données relationnelles (SGBDR)1234. Il permet d'effectuer des opérations telles que la création, la lecture, la mise à jour et la suppression de données.
|
||||
|
||||
**MySQL** est un système de gestion de bases de données relationnelles SQL open source développé et supporté par Oracle.MySQL n’est qu’un système populaire qui peut stocker et gérer ces données pour vous, et c’est une solution de base de données particulièrement populaire pour les sites WordPress
|
||||
|
||||
**MariaDB** est un système de gestion de base de données relationnelles. Après le rachat de MySQL par Sun Microsystems, puis de Sun par Oracle Corporation, son fondateur (Michael Widenius) démissionne pour lancer une version alternative, sous licence GPL et 100% compatible avec MySQL. Il s'agit donc d'un fork plus communautaire et ouvert, et 100% compatible MySQL.
|
||||
|
||||
**phpMyAdmin** (PMA) est une application Web de gestion pour les systèmes de gestion de base de données MySQL et MariaDB, réalisée principalement en PHP et distribuée sous licence GNU GPL. Il s'agit de l'une des plus célèbres interfaces pour gérer une base de données MySQL sur un serveur PHP.
|
||||
|
||||
## Installation de PhpMyAdmin
|
||||
|
||||
Sous Windows, on install une solution comme WAMPP ou XAMPP.
|
||||
|
||||
Voici les commandes sous linux (debian) afin d'installer un serveur web de A à Z avec Apache2, Php, phpMyAdmin et MariaDB:
|
||||
|
||||
### Apache
|
||||
```
|
||||
sudo apt install apache2
|
||||
```
|
||||
### Php
|
||||
```
|
||||
sudo apt install php php-common php-cli
|
||||
php-mysql libapache2-mod-php php-mbstring php-json php-xml
|
||||
```
|
||||
### MariaDB (ou MySQL)
|
||||
```
|
||||
sudo apt install mariadb-server
|
||||
```
|
||||
### Création d'un utilisateur
|
||||
|
||||
>pour gérer la base de données et éviter de tout faire avec l'utilisateur root.
|
||||
|
||||
pour se connecter au service : `sudo mariadb`
|
||||
```
|
||||
CREATE USER 'toto'@'localhost' IDENTIFIED BY 'password';
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'toto'@'localhost' WITH GRANT OPTION;
|
||||
```
|
||||
### PhpMyAdmin
|
||||
|
||||
```
|
||||
sudo apt install phpmyadmin
|
||||
```
|
||||
### Configuration de PhpMyAdmin
|
||||
|
||||
Une fois l'installation de PMA fini, lancer c'est 3 lignes afin de le configurer avec Apache 2:
|
||||
```
|
||||
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
|
||||
sudo a2enconf phpmyadmin.conf
|
||||
sudo systemctl reload apache2.service
|
||||
```
|
||||
|
||||
On peut ensuite accéder à phpMyAdmin via http://localhost/phpmyadmin
|
||||
@@ -0,0 +1,22 @@
|
||||
# UTC 504 30/01/2024
|
||||
|
||||
|
||||
```
|
||||
Frontend
|
||||
|
|
||||
v
|
||||
Backend -> Traitement -> Langage fonctionnel
|
||||
|
|
||||
v
|
||||
BDD
|
||||
```
|
||||
|
||||
## SQL
|
||||
|
||||
3 tables :
|
||||
|
||||
Eleves : (NomElv, AdrElv, VilleElv),
|
||||
|
||||
Matières : (NomMat, Coef, Intitule),
|
||||
|
||||
Notes : (NomElv, NomMat, Date, Note).
|
||||
@@ -0,0 +1,15 @@
|
||||
# UTC 504 19/02/25
|
||||
|
||||
## Le Diagrame de Classes (MPD)
|
||||
|
||||
MCD -> MLD -> MPD
|
||||
|
||||
MCD = Model conceptuel de données (voir cours sur MCD)
|
||||
|
||||
MLD = Modèle Logique de données
|
||||
|
||||
## MLD
|
||||
|
||||
CIF contrainte d'integrité fonctionnel = 1:1
|
||||
CIM contrainte d'intégrité multipe = n
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# Exercice 1 : passer du MCD au MLD
|
||||
|
||||
```
|
||||
Coureur
|
||||
ClePrimNuméro de coureur
|
||||
NomCoureur
|
||||
CleSecCodePays
|
||||
CleSecCodeEquipe
|
||||
|
||||
Pays
|
||||
ClePrimCodePays
|
||||
NomsPays
|
||||
|
||||
Equipe
|
||||
ClePrimCodeEquipe
|
||||
NomEquipe
|
||||
DirecteurSportif
|
||||
|
||||
Etape
|
||||
NuméroEtape
|
||||
Date
|
||||
VilleDepart
|
||||
VilleArrivee
|
||||
NbKm
|
||||
|
||||
Participation
|
||||
ClePrimCodeParticipation
|
||||
TempsRealise
|
||||
CleSecCoureur
|
||||
CleSecEtape
|
||||
|
||||
```
|
||||
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 51 KiB |
@@ -0,0 +1,24 @@
|
||||
# Exercice 2 : passer du MCD au MLD
|
||||
|
||||
```
|
||||
Facture
|
||||
ClePrimNumFacture
|
||||
DateFacture
|
||||
CleSecNumClient
|
||||
|
||||
Client
|
||||
ClePrimNumClient
|
||||
NomClient
|
||||
AdresseClient
|
||||
|
||||
Produit
|
||||
ClePrimRefProd
|
||||
LibProd
|
||||
PUHTProd
|
||||
|
||||
Concerne
|
||||
ClePrimConcerne
|
||||
Qté
|
||||
CleSecFacture
|
||||
CleSeProduit
|
||||
```
|
||||
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 37 KiB |
@@ -0,0 +1,10 @@
|
||||
# TD3 Passage d'un modèle conceptuel au modèle physique
|
||||
|
||||
>Antoine DECABOOTER HOLLEMAN et Guillaume Sanchez
|
||||
|
||||
## Que signifie le X inscrit dans le symbole d'héritage ?
|
||||
|
||||
le X signifie Exclusion
|
||||
|
||||
## Validez ou pas les assertions induites de manière explicite ou implicite par cet héritage muni d'une contrainte ?
|
||||
|
||||
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 172 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 37 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 172 KiB |
|
After Width: | Height: | Size: 54 KiB |
@@ -0,0 +1,9 @@
|
||||
# UTC 504 BDD
|
||||
|
||||
* [15/10/24](./UTC504-15-10-24/)
|
||||
* [16/10/24](./UTC504-16-10-24/)
|
||||
* [06/11/24](./UTC504-06-11-24/)
|
||||
* [27/11/24](./UTC504-27-11-24/)
|
||||
* [09/01/25](./UTC504-09-01-25/)
|
||||
* [30/01/25](./UTC504-30-01-24/)
|
||||
* [19/02/25](./UTC504-19-02-24/)
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 20 KiB |
@@ -0,0 +1,371 @@
|
||||
# Révision 504
|
||||
|
||||
## Le Système d'information
|
||||
|
||||
Qu'est ce qu'un système d'information ?
|
||||
***L'ensemble des ressources, matériels et imatériel necessaire et suffisante pour assurer le bon fonctionnement d'une structure.***
|
||||
|
||||
Le S.I. est au service de l’entreprise
|
||||
- L’objectif d’un S.I. est de restituer l’information à un utilisateur
|
||||
- Les systèmes d’information préexistent à l’informatique
|
||||
- Toutes les informations qui circulent dans l’organisation font partie
|
||||
du SI.
|
||||
|
||||
### L'urbanisation des SI :
|
||||
|
||||
L'urbanisation du système d'information d'une entité ou d'une organisation, qui peut être une entreprise ou une administration, est une discipline d’ingénierie informatique consistant à faire évoluer le système d'information (SI) de celle-ci afin qu'il soutienne et accompagne efficacement les missions de ladite organisation et anticipe ses transformations. L'urbanisation du SI ne fait pas table rase du passé, mais tient compte de l'existant et permet de mieux envisager les évolutions ou contraintes internes et externes affectant le SI, en s'appuyant le cas échéant sur des opportunités technologiques. Les concepts manipulés s'apparentent à ceux de l'urbanisation de l'habitat humain (organisation des villes, du territoire), concepts qui ont été réutilisés en informatique pour formaliser ou modéliser la ré ingénierie du système d'information. (SI)
|
||||
|
||||

|
||||
|
||||
### IaaS : Infrastructure as a service(AWS, Orange BZ)
|
||||
|
||||
**C'est le système le plus demandé par les entreprises.**
|
||||
|
||||
L'IaaS est un service de cloud computing offrant des ressources informatiques matérielles (stockage, réseau, baies de serveurs) au sein d'un environnement virtualisé, par le biais d'Internet ou d'une autre connexion.
|
||||
|
||||
**Service Cloud**
|
||||
|
||||
Deux types de contrat :
|
||||
* public : On partage les baies avec d'autres clients.
|
||||
* privée : On privatise les structures louées.
|
||||
|
||||
## Base de données
|
||||
|
||||
* Qu'est ce qu'une base de données ?
|
||||
|
||||
Une base de donnée est est un enssemble de données organisé de manière structurés, organisé, et sécurisé.
|
||||
|
||||
* Les principales fonctions d'une base de données ?
|
||||
|
||||
-Stocker l'information de façon fiable
|
||||
|
||||
-Traiter de grand volumes de données
|
||||
|
||||
-Traiter rapidement kes données
|
||||
|
||||
-Sécuriser les accès aux données
|
||||
|
||||
-Controlle la qualité des données
|
||||
|
||||
-Partager les données
|
||||
|
||||
-Rendre accécible les données en réseau
|
||||
|
||||
Le Data mining est la pratique consistant à rechercher automatiquement de grandes quantités de données afin de découvrir des tendances et des modèles qui vont au-delà de la simple analyse.
|
||||
|
||||
* Une base de donnée relationnelle
|
||||
|
||||
La base de données permet d'organiser les données en tables (appellé relation)
|
||||
Chaque case de la table continent une information atomique
|
||||
Chaque ligne correspond à un objet.
|
||||
Chaque colonne correspond à une propriété.
|
||||
|
||||
* Une base de donnée orienté objet
|
||||
|
||||
C'est un type de base de donnée qui a explosé ces dernières année (block chaine)
|
||||
|
||||
* SGBD
|
||||
* Exemples de SGBD
|
||||
|
||||
Oracle, Postgres, MySQL, MariaDB, MongoDB....
|
||||
|
||||
## étape clé
|
||||
|
||||
Analyse -> extraire -> structurer (MCD ou MEA) -> MLD -> MPD
|
||||
|
||||
## MCD (modèle conceptuel de données)
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
### Les entités
|
||||
|
||||
Une entité désigne un ensemble d'objet qui possèdent une sémantique et propriétés communes.
|
||||
|
||||
Les entites dans un MCD sont représenté par un rectangle, nom en **majuscule**
|
||||
|
||||
### Les attribut
|
||||
|
||||
Est la modélisation d'une information élémentaire présente dans le discours.
|
||||
|
||||
C'est un élément déscriptif ou caractéristique de l'entité ou l'association.
|
||||
|
||||
C'est unique dans un modèle conceptuel et ne peut être rattaché qu'a un seul concetp (entité ou association).
|
||||
|
||||
Un attribut prend ses valeurs dans un ensemble de valeurs possibles
|
||||
appelé "domaine".
|
||||
|
||||
Un attribut est une donnée élémentaire, ce qui exclut les données
|
||||
calculées ou dérivées.
|
||||
|
||||
### Identifiant
|
||||
|
||||
Un identifiant d’entité permet de repérer une entité de manière
|
||||
unique et sans ambiguité parmi toutes les entités.
|
||||
|
||||
Un identifiant peut être constitué d’un ou plusieurs attributs.
|
||||
|
||||
Le ou les attributs identifiant une entité sont soulignés.
|
||||
|
||||
### Association
|
||||
|
||||
Liaison entre plusieurs entités, avec une signification précise.
|
||||
|
||||
Une association peut être porteuse d’informations:
|
||||
- Les cardinalités
|
||||
- Les attributs
|
||||
- Les contraintes (CIF)
|
||||
|
||||
### Cardinalité
|
||||
|
||||
Types de cardinalité :
|
||||
- 0,1 (peut-avoir zero ou une seule)
|
||||
- 1 ,1 (Une seule et unique (forte))
|
||||
- 0, N (peut-avoir zero ou plusieurs)
|
||||
- 1,N (peut-avoir une seule ou plusieurs)
|
||||
|
||||
Valeur de droite c'est le minimum possible/obligatoire et à gauche la maximum possible/obligatoire
|
||||
|
||||
Règles :
|
||||
|
||||
- L’expression de la cardinalité est obligatoire.
|
||||
- Il ne peut y avoir de cardinalité maximale égale à 0.
|
||||
- Si une cardinalité est connue et vaut 2 ou plus, alors nous considérons
|
||||
qu’elle est indéterminée et vaut n. En effet, si cette valeur est définie lors
|
||||
de la conception, il se peut qu’elle évolue dans le futur. Il faut donc
|
||||
considérer n comme inconnue dès la conception.
|
||||
|
||||
### ATTRIBUT d’une association
|
||||
|
||||
Des informations qui ne peuvent prendre de sens qu'avec la
|
||||
présence de l'ensemble des entités constituant cette relation
|
||||
|
||||
Un attribut peut être placé dans une association uniquement
|
||||
lorsqu’il dépend de toutes les entités liées par cette
|
||||
association.
|
||||
|
||||
Cardinalité sur une relation binaire: toute relation binaire avec
|
||||
cardinalité (1,1) ne peut être porteuse d’attribut
|
||||
|
||||
#### Association plurielle
|
||||
|
||||
Association plurielle: Associations différentes qui relient les mêmes
|
||||
entités
|
||||
|
||||
#### Association réflexive
|
||||
|
||||
Une association qui relie une entité à elle même:
|
||||
association réflexives
|
||||
|
||||
#### Associations n-aires
|
||||
|
||||
Possibilité d’associer plusieurs entités (n entités, n > 3)
|
||||
|
||||
#### Association ternaire
|
||||
|
||||
(3 entités)
|
||||
|
||||
### Entité faible
|
||||
|
||||
Une entité qui ne peut être identifiée par ses seuls attributs propres est
|
||||
appelée entité faible.
|
||||
|
||||
Cas où l’identifiant d’une entité ne permet pas de l’identifier de manière
|
||||
unique
|
||||
|
||||
Son existence dépend d’une autre entité
|
||||
|
||||
### Contraintes d’intégrité
|
||||
|
||||
- Contraintes de domaine : "La fonction d’un enseignant à l’université
|
||||
prend sa valeur dans l’ensemble {Vacataire, Moniteur, ATER, MCF,
|
||||
Professeur, PRAG, PAST}“
|
||||
|
||||
- Contraintes d'unicité : "Un département, identifié par son numéro, a
|
||||
un nom unique (il n’y a pas deux départements de même nom)“
|
||||
|
||||
- Contraintes générales :
|
||||
"Un même examen ne peut pas avoir lieu dans deux salles différentes à la
|
||||
même date et à la même heure"
|
||||
|
||||
## Les relation d'héritage (ou spécification)
|
||||
|
||||
La relation de généralisationspécialisation permet de modéliser :
|
||||
|
||||
une entité générique qui porte des propriétés communes dont un
|
||||
identifiant unique.
|
||||
|
||||
des sousensembles spécialisés, sans identifiant, qui portent des
|
||||
propriétés ou des caractéristiques spécifiques à chaque sous
|
||||
ensemble.
|
||||
|
||||
Ces spécificités peuvent porter sur des propriétés ou des relations.
|
||||
|
||||
Les 4 cas possibles et les contraintes associées :
|
||||
|
||||
e**X**clustion et couverture **T**otale (Partition) ***XT***
|
||||
Intersection et couverture **T**otale (Totalité) ***T***
|
||||
e**X**clustion et non couverture (Exclusion) ***X***
|
||||
Insertion et non couverture (Pas de contrainte)
|
||||
|
||||

|
||||
|
||||

|
||||

|
||||

|
||||
|
||||
## Notions-SQL-PhpMyAdmin (TD)
|
||||
|
||||
### Les solutions pour créer une BDD :
|
||||
Plusieurs possibilités s'offrent à nous. Tout d'abord à la main, en écrivant directement dans un terminal ou dans un fichier .sql à importer.
|
||||
|
||||
Exemple (MySQL/MariaDB) :
|
||||
```
|
||||
CREATE DATABASE 'data_base_name';
|
||||
```
|
||||
Une seconde solution est d'utiliser un outil de gestion de base de données comme phpMyadmin, Adminer, sqldeveloper.
|
||||
|
||||
Exemple de création de base de données avec phpMyAdmin :
|
||||
|
||||

|
||||
On peut également utiliser un ORM (Object-Relational Mapping). Cela permet de faire le lien entre les objets de ton code et les données de ta base de donées. Je n'en connais que certaines utiliser dans le web comme par exmple sequelize pour node.js(javascript) Eloquent pour laravel (php) ou encore doctrine pour symphony (php).
|
||||
|
||||
En plus de pouvoir créer et gérer la structure d'une base de donnée d'un projet, ces outils permetes de générer pour la plupars d'entre eux de fausse donnée afin de remplir les base de donneés et de réasliser des test reels avec des donnée fictives.
|
||||
|
||||
## Définir SQL, MySQL, PhpMyadmin
|
||||
|
||||
**SQL** (sigle pour Structured Query Language, « langage de requêtes structurées ») est un langage de programmation standard spécialement conçu pour stocker, extraire, gérer ou manipuler les données à l'intérieur d'un système de gestion de bases de données relationnelles (SGBDR)1234. Il permet d'effectuer des opérations telles que la création, la lecture, la mise à jour et la suppression de données.
|
||||
|
||||
**MySQL** est un système de gestion de bases de données relationnelles SQL open source développé et supporté par Oracle.MySQL n’est qu’un système populaire qui peut stocker et gérer ces données pour vous, et c’est une solution de base de données particulièrement populaire pour les sites WordPress
|
||||
|
||||
**MariaDB** est un système de gestion de base de données relationnelles. Après le rachat de MySQL par Sun Microsystems, puis de Sun par Oracle Corporation, son fondateur (Michael Widenius) démissionne pour lancer une version alternative, sous licence GPL et 100% compatible avec MySQL. Il s'agit donc d'un fork plus communautaire et ouvert, et 100% compatible MySQL.
|
||||
|
||||
**phpMyAdmin** (PMA) est une application Web de gestion pour les systèmes de gestion de base de données MySQL et MariaDB, réalisée principalement en PHP et distribuée sous licence GNU GPL. Il s'agit de l'une des plus célèbres interfaces pour gérer une base de données MySQL sur un serveur PHP.
|
||||
|
||||
## Installation de PhpMyAdmin
|
||||
|
||||
Sous Windows, on install une solution comme WAMPP ou XAMPP.
|
||||
|
||||
Voici les commandes sous linux (debian) afin d'installer un serveur web de A à Z avec Apache2, Php, phpMyAdmin et MariaDB:
|
||||
|
||||
### Apache
|
||||
```
|
||||
sudo apt install apache2
|
||||
```
|
||||
### Php
|
||||
```
|
||||
sudo apt install php php-common php-cli
|
||||
php-mysql libapache2-mod-php php-mbstring php-json php-xml
|
||||
```
|
||||
### MariaDB (ou MySQL)
|
||||
```
|
||||
sudo apt install mariadb-server
|
||||
```
|
||||
### Création d'un utilisateur
|
||||
|
||||
>pour gérer la base de données et éviter de tout faire avec l'utilisateur root.
|
||||
|
||||
pour se connecter au service : `sudo mariadb`
|
||||
```
|
||||
CREATE USER 'toto'@'localhost' IDENTIFIED BY 'password';
|
||||
GRANT ALL PRIVILEGES ON *.* TO 'toto'@'localhost' WITH GRANT OPTION;
|
||||
```
|
||||
### PhpMyAdmin
|
||||
|
||||
```
|
||||
sudo apt install phpmyadmin
|
||||
```
|
||||
### Configuration de PhpMyAdmin
|
||||
|
||||
Une fois l'installation de PMA fini, lancer c'est 3 lignes afin de le configurer avec Apache 2:
|
||||
```
|
||||
sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
|
||||
sudo a2enconf phpmyadmin.conf
|
||||
sudo systemctl reload apache2.service
|
||||
```
|
||||
|
||||
On peut ensuite accéder à phpMyAdmin via http://localhost/phpmyadmin
|
||||
|
||||
## phpMyAdmin (reprise cours)
|
||||
|
||||
- phpMyAdmin est un outil qui nous permet de visualiser rapidement l'état de notre base de données ainsi que de la modifier, sans avoir à écrire de requêtes SQL.
|
||||
- On crée généralement un champ nommé id qui sert à numéroter les en-trées d'une table. Ce champ doit avoir un index PRIMARY (on dit qu'on crée une clé primaire) et l'option AUTO_INCREMENT qui permet de laisser MySQL gérer la numérotation.
|
||||
- MySQL gère différents types de données pour ses champs, à la ma-nière de PHP. On trouve des types adaptés au stockage de nombres, de textes, de dates, etc.
|
||||
- phpMyAdmin possède un outil d'importation et d'exportation des tables qui nous permettra notamment d'envoyer notre base de données sur Internet lorsque nous mettrons notre site en ligne.
|
||||
|
||||
## Initiation à SQL
|
||||
|
||||
### Quelques notions de base :
|
||||
|
||||
- SELECT (noms des colonnes à afficher)
|
||||
- FROM (nom de la table où se trouvent les colonnes susmentionnées)
|
||||
- WHERE (condition(s) à remplir par les lignes)
|
||||
- GROUP BY (condition(s) de regroupement des lignes)
|
||||
- HAVING condition(s) à remplir par le groupe
|
||||
- ORDER BY (ordre (Asc, Desc) d'affichage)
|
||||
- LIKE ("qui ressemble à", la valeur est entouré de "%")
|
||||
- ON (**DANS** pour faire des jointure)
|
||||
- OR (Une condition **OU** une autre)
|
||||
- AND (Une condition **ET** une autre)
|
||||
- '*' (**ALL**)
|
||||
- INSERT INTO (ajout d'une ligne à une table)
|
||||
- UPDATE (Modification d'une ligne dans une table)
|
||||
- SET (défini la valeur changé)
|
||||
- DELETE (Supprime une valeur)
|
||||
- DROP ou DROP TABLE (supprime une table ou un base)
|
||||
|
||||
### Quelques exemples :
|
||||
|
||||
```
|
||||
SELECT NomElv (ce qui doit être affiché)
|
||||
FROM Eleves; (dans quelle table rechercher l’information)
|
||||
|
||||
SELECT NomMat, Coef (possibilité de selectionner plusieurs valeurs séparé par une virgule)
|
||||
FROM Matieres;
|
||||
|
||||
SELECT NomElv
|
||||
FROM Eleves
|
||||
WHERE VilleElv = 'Toulon'; (OU VilleElv est égale à Toulon)
|
||||
|
||||
SELECT NomMat
|
||||
FROM Notes
|
||||
GROUP BY NomMat (Liste des matières où plus de 35 notes ont été données)
|
||||
HAVING Count(Note) > 35;
|
||||
|
||||
SELECT NomMat
|
||||
FROM Matieres
|
||||
ORDER BY Coef Desc, NomMat Asc; (Coef par ordre décroissant et NomMat par ordre crassant (Alpha))
|
||||
|
||||
SELECT *
|
||||
FROM Eleves
|
||||
WHERE NomElv LIKE '%C%' OR NomElv LIKE '%c%';
|
||||
|
||||
INSERT INTO Eleves (NomElv, AdrElv, VilleElv) VALUES ('Tony', 'av Paul Doumer', 'Toulon');
|
||||
|
||||
UPDATE Eleves SET NomElv = 'Antony' (Nouvelle valeur)
|
||||
WHERE NomElv = 'Tony'; (Ancienne valeur)
|
||||
|
||||
DELETE FROM Eleves
|
||||
WHERE NomElv = 'Tony';
|
||||
```
|
||||
|
||||
## MLD (Modèle Logique des Données)
|
||||
|
||||
le MLD tient compte des choix concernant le système de gestion des données utilisé dans l’entreprise. Le plus utilisé est le modèle relationnel associé aux bases de données relationnelles (Oracle, Informix, SQLserver, ..., Access, Foxpro, Paradox, ...)
|
||||
|
||||
- Le domaine est l’ensemble des valeurs que peut prendre une
|
||||
donnée,
|
||||
- une table est un sous-ensemble du produit des domaines, une table est donc un ensemble d’enregistrements (ou tuples, ou lignes),
|
||||
- une table porte un nom et est composée d’attributs prenant leurs valeurs dans les domaines correspondants,
|
||||
- une clé est constituée de 1 ou plusieurs attributs telle que une valeur de la clé d ́etermine exactement l’enregistrement,
|
||||
- toute table posède une clé primaire et, éventuellement, des
|
||||
clés candidates (secondaire).
|
||||
|
||||
### Passage MCD vers MLD :
|
||||
|
||||

|
||||
|
||||
Devien :
|
||||
|
||||

|
||||
|
After Width: | Height: | Size: 87 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
After Width: | Height: | Size: 85 KiB |