Latihan - Membuat tabel, mengimpor secara massal, dan data kueri
Universitas saat ini menyimpan data mereka dalam serangkaian file yang dibatasi koma. Anda perlu memigrasikan data ini ke Azure SQL Database.
Dalam latihan ini, Anda membuat server database dan database tunggal dengan menggunakan layanan SQL Database. Selanjutnya, Anda membuat tabel dan mengimpor data ke dalam database. Terakhir, Anda menggunakan editor kueri dan sqlcmd
utilitas untuk mengkueri data.
Memeriksa data yang dibatasi koma yang ada
Di Azure Cloud Shell, jalankan perintah berikut untuk mengunduh file data dan kode aplikasi untuk sistem universitas.
git clone https://github.com/MicrosoftDocs/mslearn-develop-app-that-queries-azure-sql education
Jalankan perintah berikut untuk memindahkan data sampel ke foldernya sendiri dan buat daftar file dalam folder tersebut.
mv ~/education/data ~/educationdata cd ~/educationdata ls
Folder ini berisi tiga file: courses.csv, modules.csv, dan studyplans.csv.
Menampilkan isi file berkascourses.csv.
cat courses.csv
File ini memuat data yang dipisahkan koma berikut ini. Ini termasuk nama mata kuliah dan ID untuk setiap mata kuliah yang ditawarkan universitas.
ID,Course 1,Computer Science 2,Maths with Computing 3,Maths with Physics 4,Computer Science with Physics 5,Maths with Chemistry 6,Physics with Chemistry 7,Maths 8,Physics 9,Chemistry
Menampilkan isi berkasmodules.csv.
cat modules.csv
File ini mencantumkan berbagai modul yang dapat diambil siswa untuk memenuhi persyaratan mata kuliah. Setiap modul memiliki kode identifikasi dan nama.
Module Code,Title CS101,Introduction to Computer Science CS102,Java Programming CS103,Distributed Applications CS104,Cloud-based systems MA101,Foundations of Applied Maths MA102,Advanced Calculus MA103,Number Theory MA104,String Theory PH101,Foundations of Physics PH102,Basic Experimental Phyics PH103,Basic Theoretical Physics PH104,Subatomic Physics CH101,Elements of Chemistry CH102,Basic Inorganic Chemistry CH103,Basic Organic Chemistry CH104,Chemical Engineering
Menampilkan isi berkasstudyplans.csv.
cat studyplans.csv
File ini berisi data yang menentukan modul mana yang harus lulus siswa untuk menyelesaikan kursus dengan sukses. Kolom Urutan memperlihatkan urutan di mana siswa harus mengambil setiap modul. Misalnya untuk kursus 1 (Ilmu Komputer), mahasiswa harus mengambil modul CS101 sebelum modul MA101. Bagian dari data diperlihatkan di sini.
Course ID,Module Code,Sequence 1,CS101,1 1,MA101,2 1,CS102,3 1,CS103,4 1,CS104,5 2,MA101,1 2,MA102,2 2,CS101,3 2,CS102,4 2,CS103,5 3,MA101,1 3,MA102,2 3,PH101,3 3,PH102,4 3,PH103,5 ...
Membuat server database dan database dengan menggunakan SQL Database
Mari kita membuat database dan server untuk menyimpan data untuk aplikasi.
Masuk ke portal Azure menggunakan akun yang sama yang digunakan untuk mengaktifkan sandbox.
Dari menu portal Microsoft Azure, di bagian Layanan Azure, pilih Buat sumber daya.
Panel Buat sumber daya akan muncul.
Di panel menu kiri, pilih Database, dan di bawah Layanan Azure Populer, pilih SQL Database.
Panel Buat Database SQL akan muncul.
Pada tab Dasar, masukkan nilai berikut untuk setiap pengaturan.
Pengaturan Nilai Detail proyek Langganan Langganan Concierge Grup Sumber Daya [Grup sumber daya kotak pasir] Detail database Nama database Database harus memiliki nama yang unik. Kami sarankan menggunakan sesuatu seperti coursedatabaseNNN, di mana NNN adalah angka acak. Server Pilih tautan Buat baru, dan di panel Server baru, masukkan detail yang ada di tabel berikut. Ingin menggunakan kumpulan elastis SQL? Tidak Komputasi + penyimpanan Tujuan umum Untuk server, masukkan nilai berikut untuk setiap pengaturan.
Pengaturan Nilai Nama server courseserverNNN, di mana NNN adalah angka yang sama yang Anda pilih untuk database Proses masuk admin server azuresql Kata sandi Masukkan kata sandi yang memenuhi persyaratan Mengonfirmasikan kata sandi Konfirmasikan sandi Anda. Lokasi US Tengah Pilih OK.
Pilih Berikutnya : Jaringan.
Pada tab Jaringan, masukkan nilai berikut untuk setiap pengaturan.
Pengaturan Nilai Konektivitas jaringan Metode konektivitas Titik akhir publik Aturan Firewall Izinkan layanan dan sumber daya Azure untuk mengakses ruang kerja ini Ya Tambahkan alamat IP klien saat ini Ya Pilih Tinjau + buat.
Pilih Buat. Tunggu server dan database dibuat sebelum Anda melanjutkan.
Membuat tabel
Sekarang Anda dapat membuat tabel untuk menyimpan data dari .csv file.
Pilih Buka sumber daya. Database SQL Anda untuk coursedatabaseNNN muncul.
Di panel menu sebelah kiri, pilih Editor kueri (pratinjau).
Panel Editor kueri untuk coursedatabaseNNN muncul.
Masukkan nilai berikut untuk setiap pengaturan.
Pengaturan Nilai Autentikasi server SQL Masuk azuresql Kata sandi Tentukan kata sandi yang Anda gunakan ketika Anda membuat pengguna ini. Catatan
Jika Anda mendapatkan kesalahan saat masuk ke database, periksa IP yang tercantum dalam kesalahan, dan pastikan IP adalah IP yang ditambahkan sebagai IP klien. Anda dapat melakukannya dengan memilih Gambaran Umum>Atur firewall server.
Pilih OKE untuk menyambung ke layanan database.
Di panel Kueri 1 , masukkan pernyataan Transact-SQL (T-SQL) berikut ini, lalu pilih Jalankan. Pernyataan ini membuat tabel baru untuk menampung informasi kursus. Verifikasi bahwa pernyataan tersebut berjalan tanpa kesalahan.
CREATE TABLE Courses ( CourseID INT NOT NULL PRIMARY KEY, CourseName VARCHAR(50) NOT NULL )
Timpa pernyataan yang ada dengan pernyataan berikut yang membuat tabel untuk menangguhkan modul. Pilih Jalankan, dan kemudian verifikasi bahwa pernyataan berjalan tanpa kesalahan.
CREATE TABLE Modules ( ModuleCode VARCHAR(5) NOT NULL PRIMARY KEY, ModuleTitle VARCHAR(50) NOT NULL )
Ubah pernyataan untuk membuat tabel bernama
StudyPlans
, lalu pilih Jalankan.CREATE TABLE StudyPlans ( CourseID INT NOT NULL, ModuleCode VARCHAR(5) NOT NULL, ModuleSequence INT NOT NULL, PRIMARY KEY(CourseID, ModuleCode) )
Di jendela database, pilih ikon Refresh pada bar alat. Luaskan Tabel, lalu luaskan setiap tabel secara bergantian. Anda akan melihat tiga tabel (
dbo.Courses
,dbo.Modules
, dandbo.StudyPlans
), bersama dengan kolom dan kunci utama untuk setiap tabel.Catatan
dbo adalah singkatan dari database.owner. Ini skema default dalam database. Ketiga tabel dibuat dalam skema ini.
Impor data
Kembali ke Cloud Shell, dan pastikan Anda berada di
educationdata
folder .cd ~/educationdata
Buat variabel yang Anda gunakan di langkah selanjutnya. Ganti
NNN
dengan nomor yang Anda gunakan untuk database dan server Anda.export DATABASE_NAME=coursedatabaseNNN export DATABASE_SERVER=courseserverNNN export AZURE_USER=azuresql export AZURE_PASSWORD=[enter your password]
Jalankan
bcp
utilitas untuk membuat file format dari skemadbo.Courses
tabel dalam database. File format menentukan bahwa data dalam format karakter (-c
) dan dipisahkan oleh koma (-t,
).bcp "[$DATABASE_NAME].[dbo].[courses]" format nul -c -f courses.fmt -t, -S "$DATABASE_SERVER.database.windows.net" -U $AZURE_USER -P $AZURE_PASSWORD
Di editor kode, buka
courses.fmt
. File format yang dihasilkan oleh perintah sebelumnya.code courses.fmt
File tersebut akan terlihat seperti ini:
14.0 2 1 SQLCHAR 0 12 "," 1 CourseID "" 2 SQLCHAR 0 50 "\n" 2 CourseName SQL_Latin1_General_CP1_CI_AS
Tinjau file tersebut. Data di kolom pertama file yang dipisahkan koma masuk ke
CourseID
kolomdbo.Courses
tabel. Bidang kedua masuk keCourseName
kolom. Kolom kedua berbasis karakter dan memiliki kolase yang terkait dengannya. Pemisah bidang dalam file diharapkan berupa koma. Terminator baris (setelah bidang kedua) harus berupa karakter baris baru. Dalam skenario dunia nyata, data Anda mungkin tidak diatur dengan begitu rapi. Anda mungkin memiliki pemisah bidang dan bidang berbeda dalam urutan yang berbeda dari kolom. Dalam situasi tersebut, Anda dapat mengedit file format untuk mengubah item ini pada setiap bidang. Tekan Ctrl + Q untuk menutup editor.Jalankan perintah berikut untuk mengimpor data dalam
courses.csv
file dalam format yang ditentukan oleh file yang diubahcourses.fmt
.-F 2
Bendera mengarahkanbcp
utilitas untuk mulai mengimpor data dari baris 2 di file data. Baris pertama berisi header.bcp "[$DATABASE_NAME].[dbo].[courses]" in courses.csv -f courses.fmt -S "$DATABASE_SERVER.database.windows.net" -U $AZURE_USER -P $AZURE_PASSWORD -F 2
Verifikasikan bahwa
bcp
utilitas mengimpor sembilan baris dan tidak melaporkan kesalahan.Jalankan urutan operasi berikut untuk mengimpor data untuk
dbo.Modules
tabel darimodules.csv
file.Buat file format.
bcp "[$DATABASE_NAME].[dbo].[modules]" format nul -c -f modules.fmt -t, -S "$DATABASE_SERVER.database.windows.net" -U $AZURE_USER -P $AZURE_PASSWORD
Impor data dari
modules.csv
file kedbo.Modules
dalam tabel dalam database.bcp "[$DATABASE_NAME].[dbo].[modules]" in modules.csv -f modules.fmt -S "$DATABASE_SERVER.database.windows.net" -U $AZURE_USER -P $AZURE_PASSWORD -F 2
Pastikan perintah ini mengimpor 16 baris.
Lakukan urutan operasi berikut untuk mengimpor data untuk
dbo.StudyPlans
tabel daristudyplans.csv
file.Buat file format.
bcp "[$DATABASE_NAME].[dbo].[studyplans]" format nul -c -f studyplans.fmt -t, -S "$DATABASE_SERVER.database.windows.net" -U $AZURE_USER -P $AZURE_PASSWORD
Impor data dari
studyplans.csv
file kedbo.StudyPlans
dalam tabel dalam database.bcp "[$DATABASE_NAME].[dbo].[studyplans]" in studyplans.csv -f studyplans.fmt -S "$DATABASE_SERVER.database.windows.net" -U $AZURE_USER -P $AZURE_PASSWORD -F 2
Pastikan perintah ini mengimpor 45 baris.
Kueri data di database
Kembali ke portal Microsoft Azure.
Pada menu portal Azure, pilih database SQL.
Pada panel Database SQL, pilih coursedatabaseNNN. Panel coursedatabaseNNN muncul.
Di panel menu sebelah kiri, pilih Editor kueri. Panel Editor kueri untuk coursedatabaseNNN muncul.
Masukkan nilai berikut untuk setiap pengaturan.
Pengaturan Nilai Autentikasi server SQL Masuk azuresql Kata sandi Masukkan kata sandi untuk pengguna ini. Pilih OKE untuk menyambung ke layanan database.
Di panel Kueri 1 , masukkan pernyataan T-SQL berikut ini, lalu pilih Jalankan.
SELECT * FROM dbo.Courses
Pernyataan ini mengambil data dari
dbo.Courses
tabel. Jendela hasil harus menampilkan sembilan baris.Ubah kueri sebagai berikut, lalu pilih Jalankan.
SELECT * FROM dbo.Modules
Kali ini Anda akan melihat modul di jendela Hasil. Ada 16 baris.
Kembali ke Cloud Shell, dan jalankan perintah berikut untuk tersambung ke database.
sqlcmd -S "$DATABASE_SERVER.database.windows.net" -d "$DATABASE_NAME" -U $AZURE_USER -P $AZURE_PASSWORD
1>
Pada perintah , jalankan perintah T-SQL berikut untuk mengambil data daridbo.StudyPlans
tabel.SELECT * FROM StudyPlans; GO
Kueri ini harus menghasilkan 45 baris.
1>
Pada perintah, masukkanexit
untuk menutup utilitas sqlcmd.
Anda membuat database tunggal dengan menggunakan SQL Database. Berikutnya, Anda menggunakan editor kueri di portal Azure untuk membuat tabel. Anda kemudian menggunakan utilitas bcp
untuk mengunggah data dari serangkaian file data yang dibatasi koma. Terakhir, Anda menjalankan kueri pada tabel dalam database dari editor kueri di portal Azure dan dari sqlcmd
utilitas di Cloud Shell.