-
Kodu bir dosyaya kaydedin:
setup.py -
Çalıştırın:
python3 setup.py -
Otomatik olarak
rentacar-db/klasörü oluşturulur -
İçinde:
init/,seed_data/,docker-compose.yml
| #!/usr/bin/env python3 | |
| # -*- coding: utf-8 -*- | |
| """ | |
| Rent A Car Database - Complete Setup | |
| Faker gerektirmez, Python 3.6+ ile çalışır | |
| """ | |
| import os | |
| import sys | |
| import random |
| # Python için resmi bir base image | |
| FROM python:3.9-slim | |
| # Çalışma dizinini ayarla | |
| WORKDIR /app | |
| RUN apt-get update && apt-get install -y postgresql-client nano && rm -rf /var/lib/apt/lists/* | |
| # Bağımlılıklar dosyasını kopyala | |
| COPY requirements.txt requirements.txt |
| services: | |
| db: | |
| image: postgres:latest | |
| container_name: postgres_db | |
| environment: | |
| POSTGRES_DB: mydatabase | |
| POSTGRES_USER: myuser | |
| POSTGRES_PASSWORD: mypassword | |
| ports: | |
| - "5432:5432" |
| # custom aliases | |
| alias ..='cd ..' | |
| alias ...='cd ../..' | |
| alias ....='cd ../../..' | |
| alias dcb='docker-compose build' | |
| alias dcd='docker-compose down' | |
| alias dcu='docker-compose up --remove-orphans' | |
| alias dcc='docker-compose exec web rails c' | |
| alias dcr='docker-compose run web rails c' |
"06.12.2024 - BLP205" tarihli gist'te bulunan "init.sql" dosyasında veritabanı tasarımı ve verileri ile aşağıdaki soruları cevaplayınız. Uygulamasını docker-compose.yml kullanarak gerçekleştiriniz.
Not
Gerekli görmeniz halinde veritabanı tasarımını güncelleyebilirsiniz.
- Her çalışanın maaşına göre sıralamasını bulun.
- Her kategorideki ürünlerin fiyatlarını artan sırada sıralayın.
- Her şubede yapılan satışların toplamını hesaplayın.
- Her çalışanın kendi departmanındaki maaş ortalamasını bulun.
| # PHP ve PostgreSQL ile çalışan bir uygulama için Dockerfile | |
| FROM php:8.2-fpm | |
| # Uygulamanın çalışacağı ortam değişkenleri | |
| ENV APP_ENV=production | |
| # PHP sürümüne bağlı paketlerin yüklenmesi | |
| RUN apt-get update && apt-get install -y \ | |
| libpng-dev \ | |
| libjpeg-dev \ |
"BLP205-061224" isimli gist'te bulunan "init.sql" dosyasında bulunan veritabanı tasarımı ile aşağıdaki soruları cevaplayınız. Uygulamayı docker-compose.yml kullanarak gerçekleştiriniz.
- "employees" tablosundaki çalışanların maaşlarını sıralayarak her çalışana bir sıra numarası verin. Ayrıca, her çalışanın maaşının, maaşların toplamına oranını hesaplayın. Sonuçları "salary_rank" ve "salary_percentage" isimli sütunlarla gösterin.
- "products" tablosundaki ürünleri fiyatlarına göre sıralayın ve her ürün için fiyat aralığını belirleyin. Ürünlerin fiyatlarının hangi çeyreğe (quartile) düştüğünü gösteren bir sütun ekleyin.
- "sales" tablosundaki satışları tarihine göre sıralayın ve her satışın, aynı tarihteki toplam satışa oranını hesaplayın. Ayrıca, her satış için bir sıra numarası verin.
- "employees" tablosundaki çalışanların maaşlarını sıralayın ve her çalışanın maaşının, aynı departmandaki diğer çalışanların maaşlarına göre sıralamasını gösterin. Ayrıca,
"init.sql" dosyasında veritabanı tasarımı ve verileri ile aşağıdaki soruları cevaplayınız. Uygulamasını docker-compose.yml kullanarak gerçekleştiriniz.
- Kategorilere göre ürünleri fiyatlarına göre sıralayıp, her kategorinin en pahalı ürününü gösteren sorguyu yazın.
- Her departmandaki çalışanları maaşlarına göre sıralayıp, yüzdelik dilimlerini hesaplayın.
- Her kategorideki ürünleri fiyatlarına göre sıralayıp ilk 3'e girenleri belirleyin.
- Her ürünün bir önceki satışına göre miktar farkını hesaplayın.
- Her departmanda çalışanları maaşlarına göre sıralayıp, kendisinden bir üst sıradaki çalışanla maaş farkını ve sıralamasını gösteren sorguyu yazın.
"seed.sql" dosyasında veritabanı tasarımı ve verileri ile aşağıdaki soruları cevaplayınız. Uygulamasını docker-compose kullanarak gerçekleştiriniz.
- Her ürün için toplam satılan miktarı ve ürün ismini, alındığı firmayı hesaplayın.
- Her ürün için toplam geliri ve ürün ismini, alındığı firmayı hesaplayın.
- En çok satılan ürünün ismini, alındığı firmayı ve toplam miktarını bulun.
- En yüksek fiyatlı ürünün ismini, alındığı firmayı ve fiyatını bulun.
- Her ürün için ortalama fiyatı, ürün ismini ve alındığı firmayı hesaplayın.
- Toplam gelirleri en yüksekten en düşüğe sıralayın ve ürün ismini, alındığı firmayı gösterin.
- Her ürün için satılan toplam miktarı ve toplam geliri gösteren bir sorgu yazın.
- Ürünlerin toplam satılan miktarını 10'dan fazla olanları ve ürün ismini, alındığı firmayı listeleyin.