MySQL ස්කීමා කියන්නේ මොනවාද? විවරණය, නිර්මාණය, කළමනාකරණය සහ හොඳම ක්‍රමෝපායන්

目次

1. Schema එකක් කියන්නේ මොනවාද?

දත්ත සමුදා වල “schema” යන සංකල්පය MySQL සහ අනෙකුත් සම්බන්ධක දත්ත සමුදා පද්ධති වල විශේෂයෙන් වැදගත් භූමිකාවක් ගනී. Schema එකක් යනු දත්ත සමුදායේ ව්‍යුහය හා දත්ත කෙසේ සංවිධානය කරනු ලබන්නේද යන්න නියම කරන රාමුකයයි. එය දත්ත සමුදා කළමනාකරණයේ පදනම ලෙස කටයුතු කරයි. මෙම කොටසේ, අපි schema එකේ මූලික විවරණය, එහි භූමිකාව, සහ schema එක සහ database එක අතර වෙනස්කම් පැහැදිලි කරමු.

Schema එකේ විවරණය සහ භූමිකාව

Schema එකක් යනු දත්ත සමුදායක් තුළ දත්තයේ ව්‍යුහය හා ගුණාංග (උදාහරණként වගු, දර්ශන, සූචක, ක්‍රියාවලි (සුරැකුම් ක්‍රියාවලි), සහ ක්‍රියා) නියම කරන රාමුකයකි. විශේෂයෙන්, එය පහත සඳහන් භූමිකා ඉටු කරයි:

  • දත්ත ව්‍යුහය නියම කිරීම : වගු සහ තීරුවලට දත්ත වර්ග සහ සීමා (ප්‍රාථමික යතුරු, විදේශීය යතුරු, සහ ඒකක සීමා වැනි) සකස් කර නිරවද්‍ය දත්ත ගබඩා කිරීමේ හැකියාව ලබා දෙයි.
  • දත්ත අඛණ්ඩතාව රැක ගැනීම : Schema තුළ නියම කරන සීමා මගින් දත්ත සමගිත්වය සහතික කරයි. උදාහරණként, වගු අතර විදේශීය යතුරු නියම කිරීමෙන් සන්දර්භ අඛණ්ඩතාව රැකගත හැක.
  • කාර්යක්ෂම දත්ත කළමනාකරණය සහ මෙහෙයුම් : දත්ත සමුදායක් තුළ වගු, දර්ශන, සහ අනෙකුත් කොටස් තාර්කිකව සමූහගත කිරීමෙන් schema ගොඩනැගීම දත්ත සැකසීම කාර්යක්ෂම කරයි.

හොඳින් නියම කරන ලද schema එකක් දත්ත සමුදා කළමනාකරණය සරල කරයි සහ දත්ත විශ්වාසනීයතාවය වැඩි කරයි.

Schema එක සහ Database එක අතර වෙනස

“schema” සහ “database” යන පද දෙකම බොහෝ විට ගැලපෙයි, නමුත් ඒවාට වෙනත් අර්ථයන් ඇත.

  • Database : දත්ත ගබඩා වන භෞතික පූරණය; දත්ත එකතුවක්.
  • Schema : දත්ත සමුදායක් තුළ ව්‍යුහය සහ සැලැස්ම නියම කරන සැලැස්මක් (blueprint).

MySQL හි, schema සහ database එකට අතිශය සමීප සම්බන්ධයක් ඇත. බොහෝ අවස්ථාවල, ඒවා අත්‍යවශ්‍යව එකම අර්ථයෙන් භාවිතා කරයි. ඔබ CREATE DATABASE විධානය ක්‍රියාත්මක කරන විට, database එකත් schema එකත් එකවර නිර්මාණය වේ. මෙය MySQL, අනෙකුත් දත්ත සමුදා පද්ධති සමඟ සසඳන විට, schema සහ database අතර කඩිනම් වෙනස්කම් නොකරන නිසාය.

වෙනත් දත්ත සමුදා පද්ධති වල වෙනස්කම්

එයට විරුද්ධව, PostgreSQL සහ Oracle වැනි දත්ත සමුදා පද්ධති schema සහ database අතර පැහැදිලි වෙනස්කම් කරයි. උදාහරණként Oracle හි, එකම database එක තුළ බහු schema පවති හැක. Schema ගොඩනැගීම පරිශීලකයන් හෝ යෙදුම් සඳහා විවිධ දත්ත ව්‍යුහ කළමනාකරණය සඳහා ඒකක ලෙස භාවිතා කරයි.

MySQL හි Schema භාවිතයේ ප්‍රතිලාභ

MySQL හි schema ගොඩනැගීම නිසි ලෙස සකස් කිරීම පහත සඳහන් වාසි ලබා දෙයි:

  1. කාර්යක්ෂම දත්ත කළමනාකරණය : වගු සහ දර්ශන පද්ධතිමය ලෙස සංවිධානය කිරීමෙන්, schema ගොඩනැගීම දත්ත සෙවීම සහ යොමු කිරීම සරල කරයි.
  2. දත්ත අඛණ්ඩතාව රැක ගැනීම : schema තුළ නියම කරන සීමා අසමතුලිතතා වැළැක්වීමෙන් සමස්ත දත්ත සමුදායේ ගුණාත්මකභාවය වැඩි කරයි.
  3. ආරක්ෂිත ප්‍රවේශ පාලනය වැඩිදියුණු කිරීම : විවිධ පරිශීලකයන්ට වෙන වෙනම schema නියම කිරීමෙන්, සුක්ෂ්ම ප්‍රවේශ පාලනය ක්‍රියාත්මක කර ආරක්ෂාව වැඩි කරයි.

2. MySQL හි Schema එකක් සෑදීම කෙසේද

MySQL හි schema (හෝ database) එකක් සෑදීම සරලයි, නමුත් මූලික කරුණු අවබෝධ කර ගැනීම වැදගත්ය. මෙම කොටසේ, schema එකක් කෙසේ සෑදිය යුතුද, සෑදීමේදී සැලකිලිමත් විය යුතු කරුණු, සහ කාර්යක්ෂම schema කළමනාකරණය සඳහා හොඳ පුරුදු මාර්ගෝපදේශයන් පැහැදිලි කරමු.

Schema එකක් සෑදීමට පියවර

MySQL හි “schema” සහ “database” යන පද දෙකම අත්‍යවශ්‍යව එකම අර්ථය දරයි, සහ schema සාමාන්‍යයෙන් CREATE DATABASE ප්‍රකාශය භාවිතා කර සෑදේ. පහත මූලික භාවිතය දැක්වේ.

මූලික CREATE DATABASE විධානය

Schema එකක් සෑදීමට පහත විධානය භාවිතා කරන්න:

CREATE DATABASE schema_name;

උදාහරණය: නව Schema එකක් “test_schema” සෑදීම

පහත SQL ප්‍රකාශය ක්‍රියාත්මක කිරීමෙන් “test_schema” නමැති නව schema එකක් නිර්මාණය වේ.

CREATE DATABASE test_schema;

මෙම විධානය ක්‍රියාත්මක කිරීමෙන්, MySQL හි “test_schema” නමැති නව schema එකක් නිර්මාණය වන අතර, ඔබට එයට වගු සහ දර්ශන එක් කළ හැකිය.

අක්ෂර සමුහය සහ සමානකරණය සකස් කිරීම

MySQL හි schema එකක් සෑදීමේදී, අක්ෂර සමුහය (character set) සහ සමානකරණය (collation) නියම කළ හැක. මෙය පෙළ අක්ෂර කේතනයට සම්බන්ධ ගැටළු වැළැක්වීමට උපකාරී වේ.

CREATE DATABASE test_schema CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
  • CHARACTER SET : පෙළ දත්ත සුරැකීමට භාවිතා කරන කේතනය නිරූපණය කරයි. utf8mb4 විශාල පරාසයක Unicode අක්ෂර සහය දක්වයි.
  • COLLATE : අක්ෂර දත්ත සඳහා අනුක්‍රමණය සහ සංසන්දන නීති නියම කරයි.

වැදගත් සැලකිලි සහ හොඳ පුරුදු

කාර්යක්ෂම schema කළමනාකරණය සඳහා කිහිපයක් සැලකිලි සහ හොඳ පුරුදු ඇත:

ස්ථිර නාමකරණ රීති භාවිතා කරන්න

Schema නාමයන් ව්‍යාපෘතිය හෝ අරමුණ පැහැදිලිව පෙන්විය යුතුය. වෙනත් schema සමඟ ගැටුම් වැළැක්වීමට නාමකරණ රීති ස්ථාපිත කරන්න.

  • උදාහරණය : projectname_dev (ඉදිරිපත් කිරීමේ schema), projectname_prod (නිෂ්පාදන schema)

නිවැරදි අක්ෂර කේතනය සකසන්න

schema නිර්මාණය කරන විට අක්ෂර කේතනය නියම කිරීම නිවැරදි දත්ත සුරැකුම සහ ප්‍රතිග්‍රහණය සඳහා නිර්දේශිත වේ. සාමාන්‍යයෙන්, utf8mb4 නිර්දේශිත වේ, එය විශාල පරාසයක අක්ෂර, එමෙන්ම emojis, සහය දක්වයි.

අවසර කළමනාකරණය

දත්ත ගබඩා පරිශීලකයන්ට සුදුසු ප්‍රවේශ අවසර ලබා දීමෙන් ආරක්ෂාව ශක්තිමත් කරන්න. විශේෂයෙන් නිෂ්පාදන පරිසරවල, අනිසි ප්‍රවේශය හෝ අනපේක්ෂිත ක්‍රියාකාරකම් වැළැක්වීමට අවශ්‍ය අවම අවසර පමණක් ලබා දෙන්න.

GRANT ALL PRIVILEGES ON test_schema.* TO 'user_name'@'localhost' IDENTIFIED BY 'password';

මෙම විධානය “test_schema” මත සියලු අවසර පරිශීලක “user_name” වෙත ලබා දේ. අවශ්‍ය පරිදි SELECT හෝ INSERT වැනි සීමිත අවසරද ලබා දිය හැක.

ගැටළු විසඳීම

පවතින Schema නාමයක් නිසා ඇතිවන දෝෂය

ඔබ පවතින නාමයක් සමඟ schema එකක් නිර්මාණය කිරීමට උත්සාහ කළහොත් දෝෂයක් සිදුවේ. මෙය වැළැක්වීමට IF NOT EXISTS කොටස භාවිතා කරන්න.

CREATE DATABASE IF NOT EXISTS test_schema;

ප්‍රමාණවත් අවසර නොමැතිවීම නිසා ඇතිවන දෝෂය

schema නිර්මාණය හෝ වෙනස් කිරීම සඳහා සුදුසු අවසර අවශ්‍ය වේ. දෝෂයක් සිදුවේ නම්, වත්මන් පරිශීලකයාට ප්‍රමාණවත් අවසර තිබේදැයි පරීක්ෂා කරන්න.

3. Schema කළමනාකරණය සහ මෙහෙයුම්

MySQL කාර්යක්ෂමව schema කළමනාකරණය සඳහා විවිධ විධාන සහ මෙහෙයුම් ක්‍රම ලබා දේ. මෙහි, schema ලැයිස්තුගත කිරීම, schema මකා දැමීම, සහ schema තුළ වගු සහ දර්ශන කළමනාකරණය කිරීම ඇතුළත් විස්තරාත්මක මෙහෙයුම් පැහැදිලි කරමු.

Schema ලැයිස්තුගත කිරීමේ ක්‍රමය

MySQL හි වර්තමානයේ පවතින සියලු schema (දත්ත ගබඩා) බැලීමට, SHOW DATABASES විධානය භාවිතා කරන්න.

SHOW DATABASES;

මෙම විධානය ක්‍රියාත්මක කිරීම MySQL සේවාදායකයේ සියලු schema ලැයිස්තුව පෙන්වයි. මෙය මූලික මෙහෙයුමක් වන අතර, ඉදිරිපත් කිරීම සහ පරීක්ෂණ පරිසර වැනි බහු schema කළමනාකරණයට ප්‍රයෝජනවත් වේ.

නියමිත Schema පෙන්වීම

ඔබට නියමිත කොන්දේසි සපුරන schema පමණක් පෙන්විය හැක. උදාහරණයක් ලෙස, නාමය තුළ නියමිත අක්ෂර මාලාවක් ඇතුළත් schema පමණක් පෙන්වීමට, පහත පරිදි LIKE කොටස භාවිතා කරන්න.

SHOW DATABASES LIKE 'test%';

මෙම උදාහරණයේ, “test” සමඟ ආරම්භ වන schema පමණක් පෙන්වයි.

Schema මකා දැමීමේ ක්‍රමය සහ වැදගත් සටහන්

භාවිතා නොකළ schema මකා දැමීම අවධානයෙන් කළ යුතුය. DROP DATABASE විධානය භාවිතා කර schema මකා දැමිය හැක, නමුත් මෙම ක්‍රියාව ආපසු හැරවිය නොහැකි අතර schema තුළ ඇති සියලු දත්ත අහිමි වේ.

DROP DATABASE schema_name;

උදාහරණය: “test_schema” මකා දැමීම

DROP DATABASE test_schema;

මෙම විධානය “test_schema” schema සම්පූර්ණයෙන්ම මකා දමයි. schema මකා දැමීමට පෙර අවශ්‍ය දත්ත පිටපත් ගත කිරීම දැඩි ලෙස නිර්දේශ කරමු.

මකා දැමීමේදී වැදගත් සටහන්

  • උපස්ථයක් සකසන්න : schema මකා දැමීමට පෙර සැමවිටම උපස්ථයක් සකසන්න.
  • IF EXISTS භාවිතා කරන්න : ඉලක්ක schema නොපවතින විට දෝෂ වැළැක්වීමට IF EXISTS කොටස භාවිතා කිරීම නිර්දේශිත වේ.
    DROP DATABASE IF EXISTS test_schema;
    

Schema තුළ වගු සහ දර්ශන කළමනාකරණය

Schema කළමනාකරණය තුළ schema තුළ ගබඩා කර ඇති වගු සහ දර්ශන කළමනාකරණයද ඇතුළත් වේ. පහත schema තුළ සිදු කරන පොදු මෙහෙයුම් ඇත.

වගු ලැයිස්තුගත කිරීම

නියමිත schema එකේ වගු ලැයිස්තුව පෙන්වීමට, USE විධානයෙන් ඉලක්ක schema තෝරා, පසු SHOW TABLES ක්‍රියාත්මක කරන්න.

USE test_schema;
SHOW TABLES;

මෙය තෝරාගත් සැකසුමේ සියලු වගු පෙන්වයි.

දෘශ්‍යයන් නිර්මාණය කිරීම සහ කළමනාකරණය

දෘශ්‍යයක් යනු සංකීර්ණ විමසුම් කාර්යක්ෂමව කළමනාකරණය කිරීම සඳහා භාවිතා කරන අතුරු වගුවකි. සැකසුමක් තුළ දෘශ්‍යයක් නිර්මාණය කිරීමට, CREATE VIEW විධානය භාවිතා කරන්න.

CREATE VIEW view_name AS
SELECT column1, column2 FROM table_name WHERE condition;

දෘශ්‍යයන් භාවිතා කිරීමෙන්, ඔබට විශේෂිත කොන්දේසි මත දත්ත ලබා ගත හැකි අතර සංකීර්ණ විමසුම් සරල කළ හැක. දෘශ්‍යයන් දත්ත ආරක්ෂාව වැඩිදියුණු කිරීමටද උපකාරී වේ, පරිශීලකයන්ට සෘජුව වගු වෙත ප්‍රවේශ වීම වෙනුවට, අවශ්‍ය දත්ත පමණක් දෘශ්‍යය හරහා ප්‍රවේශ වීමට ඉඩ දෙනු ඇත.

වගුවක් මැකීම

සැකසුමක අනිවාර්ය නොවන වගුවක් ඉවත් කිරීමට, DROP TABLE විධානය භාවිතා කරන්න.

DROP TABLE table_name;

කෙසේ වෙතත්, වගුවක් මැකීම එහි දත්ත ස්ථිරවම ඉවත් කරයි, එබැවින් අවධානයෙන් ක්‍රියා කරන්න.

සැකසුම් උපස්ථාපනය සහ ප්‍රතිස්ථාපනය

සැකසුම් දත්ත සහ ව්‍යුහය උපස්ථාපනය කිරීමට, mysqldump විධානය ප්‍රයෝජනවත් වේ. එය සම්පූර්ණ සැකසුම ඩම්ප් ගොනුවක් ලෙස නිර්යාත කරයි, අවශ්‍ය විට පසු ඒ ගොනුව ප්‍රතිස්ථාපනය කළ හැක.

සැකසුමක් උපස්ථාපනය කිරීම

පහත පරිදි mysqldump විධානය භාවිතා කර උපස්ථාපනයක් සාදන්න:

mysqldump -u username -p test_schema > test_schema_backup.sql

සැකසුමක් ප්‍රතිස්ථාපනය කිරීම

උපස්ථාපන ගොනුවකින් සැකසුමක් ප්‍රතිස්ථාපනය කිරීමට, mysql විධානය භාවිතා කරන්න:

mysql -u username -p test_schema < test_schema_backup.sql

4. සැකසුම් සඳහා ප්‍රායෝගික භාවිතා කේස්

සැකසුම් දත්ත ගබඩා කළමනාකරණය සරල කිරීමට උපකාරී වේ, නමුත් ඒවායේ බලපෑම ඔබ ඒවා කෙසේ භාවිතා කරනදැයි පදනම් වේ. මෙහිදී, MySQL සැකසුම් සඳහා ප්‍රායෝගික භාවිතා කේස් විස්තරාත්මකව පැහැදිලි කරමු, ඒ අතර සංවර්ධන සහ නිෂ්පාදන පරිසර වෙන් කිරීම, බහු-කිරුනු (multi-tenant) යෙදුම් සඳහා සැකසුම් භාවිතය, සහ දත්ත ගබඩා නිර්මාණයේ සැකසුම්ගේ භූමිකාව ඇතුළත් වේ.

සංවර්ධන සහ නිෂ්පාදන සඳහා සැකසුම් වෙන් කිරීම

විශාල පද්ධති සහ ව්‍යාපෘතිවල, සංවර්ධන සහ නිෂ්පාදන පරිසර සඳහා වෙනම සැකසුම් සකස් කිරීම දත්ත ආරක්ෂාව සහ මෙහෙයුම් කාර්යක්ෂමතාව වැඩිදියුණු කරයි. මෙම ක්‍රමය භාවිතා කිරීමෙන්, සංවර්ධන හෝ පරීක්ෂණ කාලයේ සිදු කරන වෙනස්කම් නිෂ්පාදන පරිසරයට බලපාන්නේ නැත.

සංවර්ධන සැකසුම vs. නිෂ්පාදන සැකසුම

සංවර්ධන සහ නිෂ්පාදන සැකසුම් වෙන් කිරීමෙන්, ඔබට සංවර්ධන කාලයේ දත්ත මෙහෙයුම් ආරක්ෂිතව සිදු කර නව විශේෂාංග පරීක්ෂා කළ හැක.

  • සංවර්ධන සැකසුම : පරීක්ෂණ දත්ත භාවිතා කරයි, විශේෂාංග එකතු කිරීම සහ වෙනස්කම් ආරක්ෂිතව ක්‍රියාත්මක කිරීමට ඉඩ සලසයි. සැකසුම් පැහැදිලිව නම් කිරීම (උදාහරණයක් ලෙස, “project_dev”) කළමනාකරණය පහසු කරයි.
  • නිෂ්පාදන සැකසුම : සැබෑ පරිශීලකයන් භාවිතා කරන පරිසරයේ නිෂ්පාදන දත්ත ගබඩා කරයි. අහඹු මෙහෙයුම් වලින් වැළැක්වීමට, සංවර්ධකයන්ට ලිවීමේ අවසර සීමා කිරීම සහ දත්ත ආරක්ෂාව තහවුරු කිරීම වැදගත් වේ.

මාරු කිරීම හෝ මයිග්‍රේෂන් කිරීම කෙසේද

විශේෂාංග සංවර්ධනයෙන් නිෂ්පාදනයට ගෙන යන විට, මයිග්‍රේෂන් ස්ක්‍රිප්ට් සහ දත්ත උපස්ථාපන මඟින් සැකසුම් අතර දත්ත මාරු සාර්ථකව සිදු කරයි. mysqldump හෝ LOAD DATA විධානය භාවිතා කර සැකසුම් අතර දත්ත නිර්යාත සහ ආයාත කළ හැක.

බහු-කිරුනු (Multi-Tenant) යෙදුම් වල සැකසුම් භාවිතය

බහු-කිරුනු යෙදුම් වල, විවිධ පරිශීලකයන් හෝ ගනුදෙනුකරුවන්ගේ දත්ත කාර්යක්ෂමව කළමනාකරණය කිරීම සඳහා සැකසුම් කිරුනු අනුව වෙන් කිරීම සාමාන්‍යය වේ. මෙය දත්ත වෙන් කිරීම පහසු කරයි සහ ආරක්ෂාව හා කාර්යක්ෂමතාව වැඩිදියුණු කිරීමට දායක වේ.

කිරුනු අනුව සැකසුම් කළමනාකරණය

කිරුනු අනුව සැකසුමක් සෑදීම සහ පරිශීලකයන්ට සුදුසු සැකසුම පවරා දීමෙන්, ඔබට කිරුනු දත්ත විශ්වාසදායකව වෙන් කළ හැක. උදාහරණයක් ලෙස, “tenant_a_schema” සහ “tenant_b_schema” වැනි සැකසුම් භාවිතා කිරීම කළමනාකරණය පැහැදිලි කරයි.

  • දත්ත වෙන් කිරීම : කිරුනු අනුව සැකසුම් වෙන් කිරීමෙන්, කිරුනු අතර දත්ත අතුරුදහන් වීම වැළැක්වේ.
  • ආරක්ෂාව වැඩිදියුණු කිරීම : ඔබට සැකසුමකට වෙන වෙනම අවසර සකස් කර කිරුනු-විශේෂ දත්ත ප්‍රවේශය සීමා කළ හැක.

දත්ත ගබඩා කාර්යක්ෂමතාව වැඩිදියුණු කිරීම

කිරුනු අනුව සැකසුම් වෙන් කිරීමෙන්, අදාල සැකසුමට පමණක් විමසුම් ක්‍රියාත්මක කිරීම පහසු වේ, එමඟින් දත්ත ගබඩාවේ සමස්ත පූර්ණභාරය අඩු වේ. මෙය වැඩි කාර්යක්ෂමතාවක් ලබා දේ.

දත්ත ගබඩා නිර්මාණයේ සැකසුම්ගේ භූමිකාව

Designing schemas appropriately has a major impact on system efficiency and maintainability. Schema design is closely related to data normalization, table structure design, and index design. Its importance increases especially in mid- to large-scale database systems.

Normalization and Schema Design

Normalization is the process of organizing data to prevent duplication and ensure consistency, and it is extremely important in schema design. Proper normalization reduces redundancy and improves data integrity.

  • First Normal Form (1NF) : වගුවක සියලු අගයන් පරමාණු (එකම අගයක්) වන අතර, නැවත නැවත පැමිණෙන කණ්ඩායම් නොමැත.
  • Second Normal Form (2NF) : අර්ධ-අනුලම්බය නොමැත.
  • Third Normal Form (3NF) : සියලු දත්ත පූර්ණයෙන්ම අපේක්ෂිත යතුර (candidate key) මත පදනම් වේ.

By applying these normalization steps and designing schemas accordingly, you can improve data consistency.

Index Design and Performance Improvements

Properly designing indexes for tables within a schema also contributes to performance. Indexes speed up searches on specific columns. In many cases, it is recommended to add indexes to columns that are frequently searched or used in join conditions.

Separating Logical Schema and Physical Schema

Separating logical and physical schema design improves system flexibility. A logical schema represents data structure and relationships, while a physical schema concerns the physical storage location and optimization of data.

  • Logical Schema : වගු, සම්බන්ධතා, සහ දත්ත වර්ග ඇතුළත් දත්තයේ සංකල්පමය ව්‍යුහය.
  • Physical Schema : සේවාදායකයන් සහ ගබඩා සැලසුම් වැනි භෞතික ගබඩා සම්බන්ධිත සැලසුම්, සහ සුදුසුකම් ක්‍රම.

By thinking separately about logical and physical schemas, you can respond more flexibly when changes or expansions are needed.

5. Comparison with Other Database Systems

The concept of schemas in MySQL is similar to that in other database systems, but there are some differences. In this section, we compare MySQL with major database systems such as PostgreSQL and Oracle, explaining their characteristics and key differences.

Differences Between MySQL Schemas and Other Database Systems

A key characteristic of MySQL is that schemas and databases are treated as almost synonymous. In contrast, other database systems often clearly separate schemas and databases, and the role of schemas may differ depending on usage.

Characteristics of Schemas in MySQL

  • Schema = Database : MySQL හි CREATE DATABASE විධානයෙන් නිර්මාණය කරන දත්ත ගබඩාව ප්‍රායෝගිකව ස්කීමාවක් ලෙස සැලකේ. අන්‍යෝන්‍යව, එක් දත්ත ගබඩාවක් එක් ස්කීමාවකට සමාන වේ.
  • Simple Structure : ස්කීමා සහ දත්ත ගබඩා වෙන් නොවීම නිසා, ව්‍යුහය සරල වන අතර, ආරම්භකයන්ට තේරුම් ගැනීමට පහසු වේ. එහෙත්, මෙය විශාල පරිමාණ දත්ත ගබඩා පද්ධති කළමනාකරණයට තරමක් අඩු සූක්ෂමතාවයක් ලබා දිය හැක.

Schema Concept in PostgreSQL

In PostgreSQL, databases and schemas are clearly separated, and multiple schemas can exist within a single database. This allows different schemas to be created for users or applications, enabling efficient data separation, security, and management.

Example Use of Multiple Schemas

In PostgreSQL, schemas are used in scenarios such as the following:

  • Multi-User Environments : එකම දත්ත ගබඩාව තුළ විවිධ පරිශීලකයන් හෝ යෙදුම් වෙනත් ස්කීමා භාවිතා කරමින්, දත්ත වෙන් කිරීම සහ කළමනාකරණ කාර්යක්ෂමතාවය වැඩි කරයි.
  • Access Control : එක් එක් ස්කීමාව සඳහා ප්‍රවේශ අයිතිවාසිකම් වෙන්ව සැකසිය හැකි අතර, ආරක්ෂාව වැඩි කරයි.
Example of Creating and Using Schemas

In PostgreSQL, use the CREATE SCHEMA command to create a schema. You can also create tables with the same name in different schemas, distinguishing them using schema prefixes such as public.customers and app.customers.

CREATE SCHEMA app;
CREATE TABLE app.customers (id SERIAL PRIMARY KEY, name VARCHAR(100));

මෙම ආකාරයෙන් සකස්කිරීම් වෙන් කිරීමෙන්, දත්ත ව්‍යුහයන් වඩාත් සවිස්තරාත්මකව කළමනාකරණය කළ හැක.

Schema Concept in Oracle

Oracle දත්ත ගබඩා වල, සකස්කිරීම් (schemas) පරිශීලකයන් සමඟ ඉතා සමීපව සම්බන්ධ වේ, සහ එක් එක් පරිශීලකයාට ස්වයංක්‍රීයව එක් සකස්කිරීමක් නියම කර ඇත. සකස්කිරීම යනු එම පරිශීලකයාගේ අයිතිකාරක දත්ත කළමනාකරණය සඳහා කැපවූ ඉඩක් ලෙස ක්‍රියා කරයි.

Relationship Between Users and Schemas

Oracle හි පරිශීලකයෙක් සාදන විට, ඒම නාමය සමඟ සකස්කිරීමක් ස්වයංක්‍රීයව ජනනය වේ. එබැවින්, එක් එක් පරිශීලකයාට වෙනම සකස්කිරීමක් ඇත, සහ එම පරිශීලකයා විසින් සාදන වගු (tables) ඒ සකස්කිරීම තුළ ගබඩා වේ.

  • Advantages : දත්ත පරිශීලක අනුව වෙන් කර ඇති බැවින්, ආරක්ෂාව සහ ප්‍රවේශ පාලනය සරල වේ.
  • Limitations : එක් පරිශීලකයකුට එක් සකස්කිරීමක් පමණක් ඇති බැවින්, බහු සකස්කිරීම් භාවිතා කරමින් සවිස්තරාත්මක කළමනාකරණය කිරීම සීමාසහිත වේ.
Example Usage

උදාහරණයක් ලෙස, “HR” පරිශීලකයාට අයත් සකස්කිරීමේදී, එම පරිශීලකයා විසින් සාදන වගු අඩංගු වේ. අනෙකුත් පරිශීලකයන්ට ඒ වගු වෙත ප්‍රවේශය ලබා ගැනීමට සුදුසු අවසර තිබිය යුතුය.

CREATE USER HR IDENTIFIED BY password;
GRANT CONNECT, RESOURCE TO HR;

මෙම ක්‍රියාවලිය “HR” පරිශීලකයා සහ එයට සම්බන්ධ සකස්කිරීම නිර්මාණය කරයි, සහ දත්ත ඒ සකස්කිරීම තුළ ගබඩා වේ.

Summary of Schemas in MySQL, PostgreSQL, and Oracle

DatabaseSchema CharacteristicsMultiple Schemas SupportedAccess Control Method
MySQLSchema and database are the sameGenerally not supportedManaged per database
PostgreSQLMultiple schemas within a databaseSupportedPrivileges set per schema
OracleOne schema assigned per userGenerally not supportedManaged per user

ඉහත පෙන්වා ඇති පරිදි, සකස්කිරීම් භූමිකා සහ භාවිතය දත්ත ගබඩා පද්ධතිය අනුව වෙනස් වේ. ඔබේ පද්ධති අවශ්‍යතා අනුව සුදුසු දත්ත ගබඩාව තෝරා ගැනීම වැදගත් වේ.

6. Conclusion

අපි MySQL හි සකස්කිරීම් සංකල්පය සහ ප්‍රායෝගික භාවිතය මූලික කරුණු සිට උසස් යෙදුම් දක්වා ආවරණය කර ඇත. සකස්කිරීමක් දත්ත ගබඩාවේ ව්‍යුහය නිර්වචනය කරයි, සහ දත්ත අඛණ්ඩතාවය රැක ගැනීමට හා කළමනාකරණ කාර්යක්ෂමතාවය වැඩි කිරීමට අත්‍යවශ්‍ය භූමිකාවක් ගනී. මෙම ලිපියේ සකස්කිරීම් නිර්මාණ ක්‍රම, කළමනාකරණ තාක්ෂණ, සහ ප්‍රායෝගික භාවිත කේස් පිළිබඳ අවබෝධයක් ලබා ගතහොත්, ඔබ MySQL දත්ත ගබඩා වඩාත් කාර්යක්ෂමව ක්‍රියාත්මක කළ හැක.

Key Points of MySQL Schemas

  • Understanding the Basics : MySQL හි, සකස්කිරීම් සහ දත්ත ගබඩා සමාන වශයෙන් පවති며, CREATE DATABASE භාවිතයෙන් නිර්මාණය කරයි. සකස්කිරීම් දත්ත ව්‍යුහය නිර්වචනය කරයි, සහ විශ්වාසනීයතාවය හා කළමනාකරණ කාර්යක්ෂමතාවය වැඩි කරයි.
  • Managing Schemas : සකස්කිරීම් ලැයිස්තුගත කිරීම, සකස්කිරීම් මකා දැමීම, වගු සහ දර්ශන (views) කළමනාකරණය වැනි මූලික මෙහෙයුම් අවබෝධ කර ගැනීම වැදගත් වේ. දත්ත මාරු කිරීම සහ ප්‍රතිසාධනය ස smooth ලෙස සිදු වීමට අවශ්‍ය විට සැමවිටම බැකප් (backup) සකස් කරන්න.
  • Comparison with Other Database Systems : PostgreSQL සහ Oracle වැනි පද්ධතිවල, සකස්කිරීම් පරිශීලකයා හෝ යෙදුම අනුව වෙනත් භූමිකා ගනී, එමඟින් MySQL සමඟ සසඳන විට වඩා සවිස්තරාත්මක බහු-සකස්කිරීම් කළමනාකරණය සලස්වයි. ඔබේ විශේෂ අවශ්‍යතාවය අනුව සුදුසු දත්ත ගබඩාව තෝරා ගැනීම වැදගත් වේ.

Best Practices for Effective Schema Management

MySQL හි සකස්කිරීම් නිසි ලෙස කළමනාකරණය කිරීම සඳහා, පහත හොඳ පුරුදු අනුගමනය කරන්න:

  1. Separate Development and Production Schemas : සංවර්ධන සහ නිෂ්පාදන පරිසර සඳහා සකස්කිරීම් වෙන් කිරීමෙන්, දත්ත ආරක්ෂාව සහ කළමනාකරණ කාර්යක්ෂමතාවය වැඩි වේ. මෙය මෙහෙයුම් අවදානම අඩු කරයි සහ නිෂ්පාදනයේ අහඹු වෙනස්කම් වැළැක්වීමට උපකාරී වේ.
  2. Manage Access Privileges : පරිශීලකයන්ට සුදුසු සකස්කිරීම් ප්‍රවේශ අවසර ලබා දීමෙන්, සමස්ත දත්ත ගබඩා ආරක්ෂාව ශක්තිමත් වේ. නිෂ්පාදන පරිසරවල අවශ්‍ය අවම අවසර පමණක් ලබා දිය යුතුය.
  3. Backup and Recovery Planning : අනපේක්ෂිත දත්ත අහිමි වීමෙන් රැකගැනීමට නිතර බැකප් සහ ප්‍රතිසාධන ක්‍රියාමාර්ග සකස් කරන්න. mysqldump හෝ වෙනත් බැකප් මෙවලම් භාවිතයෙන් සම්පූර්ණ සකස්කිරීම් රැකගෙන, හදිසි අවස්ථාවල වේගවත් ප්‍රතිසාධනය සලස්වන්න.

Final Thoughts

ප්‍රභාවී සකස්කිරීම් කළමනාකරණය MySQL දත්ත ගබඩා පරිපාලනය කාර්යක්ෂමව කිරීම සහ දත්ත විශ්වාසනීයතාවය තහවුරු කිරීම සඳහා අත්‍යවශ්‍ය වේ. සකස්කිරීම් මත පදනම් වූ දත්ත ගබඩා ව්‍යුහ සැලසුම් කිරීම, නඩත්තු හැකියාව සහ ආරක්ෂාව වැඩි කරයි, විශාල පරිමාණ දත්ත කට්ටල සහ සංකීර්ණ යෙදුම් සඳහා විශේෂයෙන්. MySQL සමඟ වැඩ කරන විට, සකස්කිරීම් කළමනාකරණයේ මූලික කරුණු සහ උසස් පැතිකඩ දෙකම ඔබට අවබෝධ කර ගැනීමට මෙම මාර්ගෝපදේශය උපකාරී වේ කියා අපි බලාපොරොත්තු වෙමු.