Türkiye İl, İlçe ve Mahalle Veritabanı
收藏Türkiye İl, İlçe ve Mahalle Veritabanı
数据集概述
该数据集包含土耳其所有省份、区县和社区的数据,以PostgreSQL格式存储。数据库结构设计支持省份、区县和社区之间的关联关系。
表结构
数据集包含四个主要表:city、district、neighbourhood和country。每个表的结构和包含的信息如下:
1. City (省份)
city表包含土耳其省份的基本信息。
- id: (INTEGER) 省份的唯一标识符。
- name: (TEXT) 省份的名称(例如,"İstanbul")。
- plate_number: (INTEGER) 省份的牌照号码(例如,"34")。
- phone_code: (INTEGER) 省份的电话区号(例如,"212")。
- row_number: (INTEGER) 行号(用于数据排序)。
2. District (区县)
district表包含与省份关联的区县信息。区县通过外键与city表关联。
- id: (INTEGER) 区县的唯一标识符。
- city_id: (INTEGER) 区县所属省份的标识符(外键)。
- name: (TEXT) 区县的名称(例如,"Kadıköy")。
- city_name: (TEXT) 区县所属省份的名称(信息参考)。
3. Neighbourhood (社区)
neighbourhood表包含与区县关联的社区信息。社区通过外键与district表关联。
- id: (INTEGER) 社区的唯一标识符。
- name: (TEXT) 社区的名称(例如,"Bostancı")。
- area_name: (TEXT) 社区的区域名称(例如,"Kadıköy")。
- postal_code: (TEXT) 社区的邮政编码。
- district_id: (INTEGER) 社区所属区县的标识符(外键)。
4. Country (国家)
country表包含国家信息,适用于国际项目。
- id: (INTEGER) 国家的唯一标识符。
- iso_code2: (TEXT) ISO 2位国家代码(例如,"TR")。
- iso_code3: (TEXT) ISO 3位国家代码(例如,"TUR")。
- name: (TEXT) 国家的名称(例如,"Türkiye")。
- phone_code: (TEXT) 国家的电话区号(例如,"+90")。
Prisma 模式
如果使用Prisma创建此数据库,可以使用以下Prisma模式:
prisma model District { id Int @id cityId Int @map("city_id") // 省份ID name String @map("name") // 区县名称 cityName String @map("city_name") // 省份名称
city City @relation(fields: [cityId], references: [id]) neighbourhoods Neighbourhood[] // 一对多关系
@@index([cityId], name: "FK_District_City") @@map("district") }
model City { id Int @id name String @map("name") // 省份名称 plateNumber Int @map("plate_number") // 牌照号码 phoneCode Int @map("phone_code") // 电话区号 rowNumber Int @map("row_number") // 行号
districts District[] // 一对多关系
@@map("city") }
model Neighbourhood { id Int @id name String @map("name") // 社区名称 areaName String @map("area_name") // 区域名称 postalCode String @map("postal_code") // 邮政编码 districtId Int @map("district_id") // 区县ID
district District @relation(fields: [districtId], references: [id])
@@index([districtId], name: "FK_Neighbourhood_District") @@map("neighbourhood") }
model Country { id Int @id isoCode2 String @map("iso_code2") // ISO 2位代码 isoCode3 String @map("iso_code3") // ISO 3位代码 name String @map("name") // 国家名称 phoneCode String @map("phone_code") // 电话区号
@@map("country") }
Prisma 使用说明
-
将上述Prisma模式添加到
prisma/schema.prisma文件中。 -
使用以下命令通过Prisma创建数据库表: bash npx prisma migrate dev --name init
-
注意:在运行
turkiye_konum_verileri.sql文件中的INSERT命令之前,可以删除CREATE TABLE部分。然后,运行SQL文件以插入数据。
SQL 文件运行
- 克隆此仓库或下载
turkiye_konum_verileri.sql文件。 - 使用以下命令将文件加载到PostgreSQL数据库中: bash psql -U kullanıcı_adı -d veritabani_adi -f path/to/turkiye_konum_verileri.sql




