108 lines
3.7 KiB
SQL
108 lines
3.7 KiB
SQL
-- CreateTable
|
|
CREATE TABLE "users" (
|
|
"id" TEXT NOT NULL,
|
|
"name" TEXT,
|
|
"email" TEXT,
|
|
"password" TEXT NOT NULL,
|
|
"created_at" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
|
"updated_at" TIMESTAMP(3) NOT NULL,
|
|
|
|
CONSTRAINT "users_pkey" PRIMARY KEY ("id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "detail" (
|
|
"tax_id" TEXT NOT NULL,
|
|
"phone" TEXT NOT NULL,
|
|
"bio" TEXT NOT NULL,
|
|
"city" TEXT NOT NULL,
|
|
"county" TEXT NOT NULL,
|
|
"post_kode" TEXT NOT NULL,
|
|
"photo_profile" TEXT NOT NULL,
|
|
|
|
CONSTRAINT "detail_pkey" PRIMARY KEY ("tax_id")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "data_kecamatan" (
|
|
"id_kecamatan" SERIAL NOT NULL,
|
|
"id_komoditas" INTEGER NOT NULL,
|
|
"nama_kecamatan" VARCHAR(100) NOT NULL,
|
|
"deskripsi" TEXT NOT NULL,
|
|
"gambar" TEXT NOT NULL,
|
|
"area" DOUBLE PRECISION NOT NULL,
|
|
"posisi_x" DOUBLE PRECISION NOT NULL,
|
|
"posisi_y" DOUBLE PRECISION NOT NULL,
|
|
|
|
CONSTRAINT "data_kecamatan_pkey" PRIMARY KEY ("id_kecamatan")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "data_penduduk" (
|
|
"id_penduduk" SERIAL NOT NULL,
|
|
"id_kecamatan" INTEGER NOT NULL,
|
|
"data_tahun" INTEGER NOT NULL,
|
|
"jumlah_penduduk" DOUBLE PRECISION NOT NULL,
|
|
"laju_pertumbuhan" VARCHAR(30) NOT NULL,
|
|
|
|
CONSTRAINT "data_penduduk_pkey" PRIMARY KEY ("id_penduduk")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "data_komoditas" (
|
|
"id_komoditas" SERIAL NOT NULL,
|
|
"nama_komoditas" VARCHAR(100) NOT NULL,
|
|
"posisi_x" DOUBLE PRECISION NOT NULL,
|
|
"posisi_y" DOUBLE PRECISION NOT NULL,
|
|
|
|
CONSTRAINT "data_komoditas_pkey" PRIMARY KEY ("id_komoditas")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "hasil_panen" (
|
|
"id_panen" SERIAL NOT NULL,
|
|
"id_kecamatan" INTEGER NOT NULL,
|
|
"id_komoditas" INTEGER NOT NULL,
|
|
"tahun_panen" INTEGER NOT NULL,
|
|
"produksi" DOUBLE PRECISION NOT NULL,
|
|
"luas_panen" DOUBLE PRECISION NOT NULL,
|
|
"produktivitas" DOUBLE PRECISION NOT NULL,
|
|
|
|
CONSTRAINT "hasil_panen_pkey" PRIMARY KEY ("id_panen")
|
|
);
|
|
|
|
-- CreateTable
|
|
CREATE TABLE "prediksi_panen" (
|
|
"id_prediksi" SERIAL NOT NULL,
|
|
"id_kecamatan" INTEGER NOT NULL,
|
|
"id_komoditas" INTEGER NOT NULL,
|
|
"tahun_prediksi" INTEGER NOT NULL,
|
|
"hasil_prediksi" INTEGER NOT NULL,
|
|
|
|
CONSTRAINT "prediksi_panen_pkey" PRIMARY KEY ("id_prediksi")
|
|
);
|
|
|
|
-- CreateIndex
|
|
CREATE UNIQUE INDEX "users_email_key" ON "users"("email");
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "detail" ADD CONSTRAINT "detail_tax_id_fkey" FOREIGN KEY ("tax_id") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "data_kecamatan" ADD CONSTRAINT "data_kecamatan_id_komoditas_fkey" FOREIGN KEY ("id_komoditas") REFERENCES "data_komoditas"("id_komoditas") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "data_penduduk" ADD CONSTRAINT "data_penduduk_id_kecamatan_fkey" FOREIGN KEY ("id_kecamatan") REFERENCES "data_kecamatan"("id_kecamatan") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "hasil_panen" ADD CONSTRAINT "hasil_panen_id_kecamatan_fkey" FOREIGN KEY ("id_kecamatan") REFERENCES "data_kecamatan"("id_kecamatan") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "hasil_panen" ADD CONSTRAINT "hasil_panen_id_komoditas_fkey" FOREIGN KEY ("id_komoditas") REFERENCES "data_komoditas"("id_komoditas") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "prediksi_panen" ADD CONSTRAINT "prediksi_panen_id_kecamatan_fkey" FOREIGN KEY ("id_kecamatan") REFERENCES "data_kecamatan"("id_kecamatan") ON DELETE RESTRICT ON UPDATE CASCADE;
|
|
|
|
-- AddForeignKey
|
|
ALTER TABLE "prediksi_panen" ADD CONSTRAINT "prediksi_panen_id_komoditas_fkey" FOREIGN KEY ("id_komoditas") REFERENCES "data_komoditas"("id_komoditas") ON DELETE RESTRICT ON UPDATE CASCADE;
|