Pengantar
Tabel adalah struktur logis dua dimensi dan sarana mendasar untuk menyimpan data dalam sistem manajemen basis data relasional. Format 'baris dan kolom' sangat mirip dengan organisasi spreadsheet.
Setiap record baru yang diperkenalkan ke tabel adalah baris (juga disebut record atau tuple), sedangkan baris dikelompokkan ke dalam kumpulan kolom yang terbatas (juga disebut field atau atribut). Setiap kolom memiliki nama dan tipe data, dan berfungsi sebagai referensi untuk menampilkan kumpulan hasil saat meminta data dari sistem basis data relasional.
Dalam artikel ini, kami menjelajahi opsi saat ini yang memungkinkan kami menambahkan kolom baru ke tabel yang ada di database SQL Server. Use case dapat muncul pada banyak kesempatan. Khususnya, ini terjadi ketika ada pembaruan untuk aplikasi, dan mereka menuntut penambahan kolom baru.
Buat Tabel
Untuk memulai rangkaian eksperimen singkat, mari buat tabel kecil dengan empat kolom yang berisi informasi dasar tentang beberapa perusahaan:
-- Listing 1: Create New Table ntab
use AU
go
create table ntab (
ID INT identity (1,1)
, CompanyName varchar(100)
, CompanyAddress varchar(200)
, DateofIncorporation datetime
);
Tambahkan Satu Kolom
Untuk menambahkan satu kolom ke ntab tabel, kami mengeksekusi kode yang disediakan di Listing 2. Hasilnya adalah tabel lima kolom, seperti yang ditunjukkan pada Gambar 1. Kami menghasilkan metadata ini tentang tabel kami dengan sp_columns prosedur tersimpan.
-- Listing 2: Add ManagingDirector Column to Empty Table
alter table ntab add ManagingDirector varchar(50);
exec sp_columns ntab;
Menggunakan kode di Listing 3, kami mengisi tabel baru dengan 1000 baris.
-- Listing 3: Add Column to Empty Table
insert into ntab values ('Simplex Technologies','Plot 121 Nova Ridge II, Appolonia City','20201023','Kenneth Igiri');
GO 1000
Kemudian, kita tambahkan kolom lain TaxIdentityNumber – kita dapat melakukannya dengan sukses tanpa overhead kinerja yang jelas:
-- Listing 4: Add Column to Populated Table
alter table ntab add TaxIdentityNumber varchar(20);
exec sp_columns ntab;
Lepas atau Tambahkan Beberapa Kolom menggunakan perintah ALTER TABLE
Dalam satu pernyataan, kita juga bisa menjatuhkan atau menambahkan kolom. Penting:Saat kami menghapus kolom dari tabel dengan data, kami kehilangan data dengan sangat cepat. Ini jelas bukan perintah untuk bermain-main dalam produksi.
Perintah ALTER TABLE adalah perintah Data Definition Language (DDL) yang mirip dengan TRUNCATE. Operasi tidak direkam dalam log transaksi, dan tidak mungkin untuk memutarnya kembali. Jika Anda memiliki alasan untuk melakukannya dalam produksi, Anda harus memiliki cadangan sehingga Anda dapat kembali ke keadaan sebelumnya.
-- Listing 5: Drop Column from Table
alter table ntab drop column ManagingDirector, TaxIdentityNumber;
alter table ntab add ManagingDirector varchar(50), TaxIdentityNumber varchar(20);
select * from ntab;
Penting:Ketika Anda mencoba untuk menjatuhkan kolom yang memiliki indeks, itu mengembalikan kesalahan (lihat gambar). Pertama, Anda harus mencadangkan dan menjatuhkan Indeks.
Menggunakan GUI – Desainer Tabel
Sebelum melanjutkan, perhatikan bahwa Anda perlu memastikan menggunakan versi SQL Server Management Studio terbaru. Jika ada ketidakcocokan antara versi database dan versi SSMS Anda, Anda akan mendapatkan error berikut:
Untuk mengubah struktur tabel, buka Perancang Tabel di SSMS:klik kanan tabel dan klik Desain.
Anda akan melihat ntab detail tabel:
Di Table Designer, kita menambahkan nama kolom yang ingin kita tambahkan dan menentukan Tipe Data dan nullability seperti yang diinginkan.
Setelah selesai, kami menyimpan tabel menggunakan salah satu opsi yang tersedia. Misalnya, lihat opsi yang tersedia di menu bilah SSMS:
Ada satu pengaturan SQL Server Management Studio, yang dapat mencegah penyimpanan tabel dengan kolom yang baru ditambahkan. Anda mungkin perlu menonaktifkan setelan ini:
Alat> Opsi> Desainer> Desainer Tabel dan Database
Di latar belakang, SQL Server mengeksekusi SQL yang sama yang kami tunjukkan sebelumnya (Daftar 5). Kami mengekstrak ini menggunakan SQL Profiler. Anda bisa mendapatkan data yang sama dengan Acara yang Diperpanjang:
Setelah selesai, kita dapat melihat hasil yang sama seperti sebelumnya:
dbForge Studio untuk SQL Server
dbForge Studio untuk SQL Server dari perusahaan Devart menawarkan antarmuka fungsional yang kuat untuk berinteraksi dengan SQL Server. Karena solusinya mirip dengan SSMS, mudah dioperasikan. Ini terhubung dengan mulus ke instance SQL Server dan memungkinkan pengguna untuk berinteraksi dengan lancar dengan objek SQL Server. Anda dapat mengunduh edisi ekspres di sini .
Untuk memodifikasi tabel di dbForge Studio, klik kanan tabel tersebut untuk melihat detail propertinya.
Anda menambahkan kolom baru dengan cara yang sama seperti yang Anda lakukan di Perancang Tabel SQL Server. Namun, perhatikan tingkat detail yang ditampilkan untuk tabel tersebut, termasuk tabel DDL. Ini jauh lebih kuat daripada yang tersedia di SSMS.
dbForge Studio mengikuti aturan yang sama untuk menambahkan kolom ke tabel seperti SQL Server Management Studio. DDL untuk tabel diperbarui segera setelah Anda menambahkan kolom. Namun, Anda harus mengklik SIMPAN untuk menyimpan perubahan:
Kesimpulan
Artikel ini menunjukkan metode yang dapat kita gunakan untuk menambahkan kolom ke tabel yang ada di SQL Server, baik tabel tersebut memiliki data di dalamnya atau tidak.
Kami juga mengilustrasikan dampak penurunan kolom saat tabel memiliki data. Kami menunjukkan bahwa perintah ALTER TABLE adalah perintah DDL. Tidak ada log dan juga tidak ada dampak kinerja yang signifikan. Gunakan Perancang Tabel untuk menyisipkan kolom di antara kolom yang ada, bukan di akhir daftar kolom.
Kami juga telah meninjau fungsionalitas Devart dbForge Studio 2019. Ini memiliki antarmuka yang jauh lebih kuat dan nyaman untuk tugas ini dan tugas serupa lainnya. Itu juga dapat menawarkan banyak kemampuan lain untuk membuat manajemen database SQL Server menjadi lebih mudah.
Referensi
- Dampak Kinerja Perintah ALTER TABLE
- Mengubah Tabel di T-SQL
- Fitur Desainer Tabel di dbForge Studio untuk SQL Server