Vous êtes sur la page 1sur 3

-- Partie 1 : Profilage et compréhension des ensembles de données Yelp

-- 1. Profilage des données (Nombre total d'enregistrements pour chaque tableau)


SELECT COUNT(*) AS Total FROM Attributaire; -- i. Table attributaire
SELECT COUNT(*) AS Total FROM Business; -- ii. Tableau d'affaires
SELECT COUNT(*) AS Total FROM Categorie; -- iii. Tableau des catégories
SELECT COUNT(*) AS Total FROM Enregistrement; -- iv. Tableau d'enregistrement
SELECT COUNT(*) AS Total FROM Elite_Years; -- v. table élite_années
SELECT COUNT(*) AS Total FROM Friends; -- vi. table d'amis
SELECT COUNT(*) AS Total FROM Heures; -- vii. tableau des heures
SELECT COUNT(*) AS Total FROM Photos; -- viii. tableau des photos
SELECT COUNT(*) AS Total FROM Review; -- ix. tableau de révision
SELECT COUNT(*) AS Total FROM Tips; -- x. tableau des pourboires
SELECT COUNT(*) AS Total FROM User; -- xi. table utilisateur

-- 2. Enregistrements Distincts par Clé (Clés étrangères ou primaires)


SELECT COUNT(DISTINCT ForeignKey) FROM Business; -- i. Affaires (Clé étrangère
spécifique à préciser)
SELECT COUNT(DISTINCT ForeignKey) FROM Heures; -- ii. Heures (Clé étrangère
spécifique à préciser)
-- Répéter pour chaque table mentionnée

-- 3. Colonnes avec Valeurs Nulles dans la Table 'Utilisateurs'


SELECT
COUNT(*) - COUNT(column1) AS Nulls_Column1,
COUNT(*) - COUNT(column2) AS Nulls_Column2
-- Ajouter d'autres colonnes si nécessaire
FROM User;

-- 4. Valeurs Min, Max, Moyenne


SELECT MIN(Etoiles), MAX(Etoiles), AVG(Etoiles) FROM Review; -- i. Tableau : Revue,
Colonne : Étoiles
-- Répéter pour chaque tableau et colonne mentionnés

-- 5. Classement des Villes par Nombre d'Avis


SELECT Ville, COUNT(*) AS NombreAvis
FROM Business
GROUP BY Ville
ORDER BY NombreAvis DESC;

-- 6. Répartition des Notes par Étoiles


SELECT Etoiles, COUNT(*) AS Nombre
FROM Business
WHERE Ville = 'Avon' -- i. Avon
GROUP BY Etoiles;
-- Répéter pour 'Bois de Plage' -- ii. Bois de Plage

-- 7. Top 3 Utilisateurs par Nombre d'Avis


SELECT UserID, COUNT(*) AS NombreAvis
FROM Review
GROUP BY UserID
ORDER BY NombreAvis DESC
LIMIT 3;

-- 8. Corrélation entre Critiques et Fans


-- Analyse de corrélation (requiert des fonctionnalités analytiques spéciales)

-- 9. Revues Contenant 'Amour' ou 'Haine'


SELECT COUNT(*)
FROM Review
WHERE Texte LIKE '%amour%' OR Texte LIKE '%haine%';

-- 10. Top 10 Utilisateurs par Nombre de Fans


SELECT UserID, Fans
FROM User
ORDER BY Fans DESC
LIMIT 10;

-- Partie 2 :
-- Choix d'une ville et d'une catégorie spécifique (exemple : 'Restaurants' à
'Paris')
-- Groupez les entreprises par nombre d'étoiles

-- Entreprises avec 2-3 étoiles


SELECT BusinessID, Name, Stars, Heures
FROM Business
WHERE Stars BETWEEN 2 AND 3 AND Category = 'Restaurant' AND City = 'Paris';

-- Entreprises avec 4-5 étoiles


SELECT BusinessID, Name, Stars, Heures
FROM Business
WHERE Stars BETWEEN 4 AND 5 AND Category = 'Restaurant' AND City = 'Paris';

-- Réponses aux questions :


-- i. Les répartitions des heures peuvent varier, nécessitant une analyse plus
détaillée des heures d'ouverture.
-- ii. Le nombre d'avis pourrait être différent, les entreprises mieux notées ayant
potentiellement plus d'avis.
-- iii. La localisation peut montrer une concentration d'entreprises mieux notées
dans certains quartiers.

-- Analyse des entreprises ouvertes vs fermées

-- Entreprises Ouvertes
SELECT BusinessID, Name, Is_Open
FROM Business
WHERE Is_Open = 1;

-- Entreprises Fermées
SELECT BusinessID, Name, Is_Open
FROM Business
WHERE Is_Open = 0;

-- Réponses aux questions :


-- i. Différence 1 : Les entreprises ouvertes pourraient avoir des scores d'étoiles
plus élevés.
-- ii. Différence 2 : Les entreprises ouvertes pourraient avoir plus d'avis et
d'interactions utilisateurs.

-- Analyse choisie : Prédiction du nombre d'étoiles global d'une entreprise

-- Données nécessaires : Avis, catégories, attributs de l'entreprise, et


localisation.
-- Ces données aideront à comprendre les facteurs influençant les évaluations des
entreprises.

-- Extraction des données pour l'analyse


SELECT BusinessID, Category, Attributes, Latitude, Longitude, AVG(Stars) AS
AverageStars
FROM Business
JOIN Review ON Business.BusinessID = Review.BusinessID
GROUP BY Business.BusinessID;

-- Réponses aux questions :


-- i. Analyse de prédiction du nombre d'étoiles
-- ii. Utilisation de l'analyse de régression ou de modèles de machine learning
pour prédire les étoiles.
-- iii. Les données comprennent les identifiants d'entreprise, les catégories, les
attributs, les coordonnées et la moyenne des étoiles.

Vous aimerez peut-être aussi