SQL மூலம் தரவுகளைக் கையாளுதல் - SQL மூலம் தரவுகளைக் கையாளுதல்: பின்வரும் கேள்விகளுக்கு பதில் அளிக்கவும் | 12th Computer Science : Chapter 15 : Integrating Python with MySql and C++ : Data Manipulation Through SQL
கணினி அறிவியல் : SQL மூலம் தரவுகளைக் கையாளுதல்
மதிப்பீடு
பகுதி - அ
சரியான விடையை தேர்ந்தெடுத்து
எழுதுக (1 மதிப்பெண்)
1. பின்வரும் எது ஒருங்கிணைக்கப்பட்ட
தரவுகளின் தொகுப்பாகும்?
அ)
தரவுத்தளம்
ஆ)
DBMS
இ)
தகவல்
ஈ)
பதிவுகள்
விடை: அ) தரவுத்தளம்
2. SQLite எந்த தரவுத்தள அமைப்பைச்
சார்ந்தது?
அ)
ஒற்றைக் கோப்பு தரவுத்தளம்
ஆ)
உறவுநிலை தரவுத்தளம்
இ)
படிநிலை தரவுத்தளம்
ஈ)
பொருள்நோக்கு தரவுத்தளம்
விடை: ஆ) உறவுநிலை
தரவுத்தளம்
3. பின்வரும் எந்த கட்டுப்பாட்டு
அமைப்பு தரவுத்தளத்திலிருந்து பதிவுகளைப் பெற்றுத்தர பயன்படுகிறது?
அ)
சுட்டு
ஆ)
திறவுகோல்
இ)
Cursor
ஈ)
செருகும் புள்ளி
விடை : இ)
Cursor
4. பதிவுகளில் உள்ள மதிப்புகளில்
செய்யப்படும் மாற்றங்களை சேமிக்கப் பயன்படும் கட்டளை எது?
அ)
Save
ஆ)
Save As
இ)
Commit
ஈ) Oblige
விடை : இ)
Commit
5. சில செயல்பாடுகளை SQL கட்டளைகள்
செய்வதற்கு பின்வரும் எது இயக்கப்படுகிறது?
அ)
Execute()
ஆ)
Key()
இ)
Cursor()
ஈ)
run
விடை : அ)
Execute ()
6. பின்வரும் எந்த சார்பு அட்டவணையிலுள்ள
தேர்ந்தெடுக்கப்பட்ட புலத்தின் பதிவுகளின் சராசரியைக் கொடுக்கிறது?
அ)
Add()
ஆ)
SUM()
இ)
AVG()
ஈ)
AVERAGE()
விடை : இ)
AVG()
7. எந்த செயற்கூறு தேர்ந்தெடுக்கப்பட்ட
புலத்தின் பெரிய மதிப்பைத் திருப்பி அனுப்பும்
அ)
MAX()
ஆ)
LARGE()
இ)
HIGH()
ஈ)
MAXIMUM()
விடை: அ) MAX()
8. பின்வரும் எது முதன்மை அட்டவணை?
அ) sqlite_master
ஆ)
sql_master
இ)
main_master
ஈ)
master_main
விடை : அ)
sqlite_master
9. SQL-ல் மிகவும் பொதுவாக பயன்படுத்தப்படும்
கூற்று எது?
அ)
cursor
ஆ)
select
இ)
execute
ஈ)
commit
விடை : ஆ)
select
10. பின்வரும் எந்த துணை நிலைக்கூற்று
நகல்களைத் தவிர்க்கும்?
அ)
Distinct
ஆ)
Remove
இ)
Where
ஈ)
Group By
விடை : அ)
Distinct
பகுதி - ஆ
அனைத்து வினாக்களுக்கும்
விடையளி
1. தரவுத்தளத்தைப் பயன்படுத்தும்
பயனர்களை குறிப்பிடவும்.
விடை. தரவுத்தளத்தின் பயனர்களாக மனிதர்கள், பிற நிரல்கள் அல்லது பயன்பாடுகள்
இருக்கலாம்.
2. தரவுத்தளத்தை இணைக்க பயன்படும்
முறைகள் யாவை? எடுத்துக்காட்டு தருக.
விடை. Connect () வழிமுறையைப் பயன்படுத்தி இணைப்பை உருவாக்கி தரவுத்தளத்தின்
பெயரை அணுப்பவும். தரவுத்தளத்தை இணைத்தல் என்பது, அணுக வேண்டிய தரவுத்தளத்தின் பெயரை
அணுப்புதல் என்பதாகும்.
எடுத்துக்காட்டு:
#connecting to the database
connection = sqlite3.connect ("Academy.db")
#cursor
cursor = connection.cursor ( )
3. புலத்தை "INTEGER
PRIMARY KEY" என அறிவிப்பதன் நன்மை என்ன?
விடை. அட்டவணையில் உள்ள ஒரு நெடுவரிசை INTEGER PRIMARY KEY, என்று அறிக்கப்பட்டு,
எப்பொழுதெல்லாம் NULL என்ற மதிப்பு உள்ளீடாகப் பயன்படுத்தப்படுகிறதோ, அந்த NULL மதிப்பு
தானாகவே அந்த நெடுவரிசையில் இதுவரை பயன்படுத்தப்பட்ட மிக உயர்ந்த மதிப்பைவிட ஒன்று
மிகுந்து முழு எண்ணாக இருக்கும்.
4. அட்டவணையில் பதிவுகளை விரிவுப்படுத்துவதற்கான
கட்டளையை எழுதுக. எடுத்துக்காட்டு தருக.
விடை. அட்டவணையுடன் கூடிய ஒரு தரவுத்தளம் எந்த தரவுகளும் இல்லாமல் உள்ளது.
"INSERT" கட்டளையை SQLiteல் அனுப்புவதன் மூலம் அட்டவணையில் தரவுகளை உள்ளிடலாம்.
execute() செயற்கூறு கொடுக்கப்பட்ட SQL கட்டளையை செயல்படுத்தும்.
எடுத்துக்காட்டு:
sql_command = "INSERT INTO Student
(Rollno, sname, Grade, gender, Average, birth_date)
VALUES (NULL, "Akshay", "B", "M"
"87.8", "2001-12-12");
" " cursor.execute(sql_command)
5. தரவுத்தள அட்டவணையிலிருந்து
அனைத்து பதிவுகளையும் பெறுவதற்கான வழிமுறை எது?
விடை. fetchall) செயற்கூறு அனைத்து வரிசைகளையும் தரவுத்தள அட்டவணையில் இருந்து
பெற பயன்படுகிறது.
பகுதி - இ
அனைத்து வினாக்களுக்கும்
விடையளி (3 மதிப்பெண்)
1. SQLite என்றால் என்ன? இதன்
நன்மைகள் யாவை?
விடை. SQLite என்பது எளிய உறவுநிலை தரவுத்தல் அமைப்பாகும். இது தரவுகளை முறையாக
தரவுக்கோப்புகளாகவும் கணினியின் உட்புற நினைவகத்தில் கூட சேமித்து வைக்கு' இது
MySQL அல்லது Oracle போன் தனித்த தரவுத்தள சேவையக நிரலாச இல்லாமல் உள்ளிணைந்த பயன்பாடா
வடிவமைக்கப்பட்டுள்ளது. நன்மைகள் :
(i) வேகமாகவும், மிகுந்த சோதிக்கப்பட்டதாகவும் மற்றும் நெகிழ்வானதாகவும்
உள்ளதா SQLite -ல் வேலை செய்வது எளிதாகும்.
(ii) SQLite -ற்காக பைத்தான் சிறப்பாக நூலகத்தைக் கொண்டுள்ளது.
2. Where துணைநிலைக்கூற்றின் பயன்
என்ன? where கூற்றைப் பயன்படுத்தி ஒரு பைத்தான் கூற்றை எழுதவும்.
விடை. குறிப்பிட்ட நிபந்தனைகளை நிறைவேற்றும் பதிவுகளை மட்டுமே பிரித்தெடுக்க
துணைநிலை கூற்று பயன்படுகிறது. பின்வரும் எடுத்துக்காட்டில் "student table"
தரவுத்தளத்தில் இருந்து மாணவர்களின் தரவரிசையை மட்டுமே பிரித்தெடுப்பதைக் காணலாம்.
import sqlite 3
connection = sqlite 3.connect ("Academy.db")
cursor = connection. cursor ( )
cursor.execute ("SELECT DISTINCT (Grade)
FROM student
where gender = ("M")
result = cursor. fetchall ()
print (*result, sep="\n")
வெளியீடு :
('B')
('A')
('C')
('D')
3. பின்வரும் விவரங்களை படிக்கவும்.
அதன் அடிப்படையில் துறைவாரியாக பதிவுகளை திரையிட பைத்தான் ஸ்கிரிப்ட்டை எழுதவும்.
தரவுத்தள பெயர் :
organization.db
அட்டவணை பெயர் : Employee
புலங்கள் : Eno, EmpName,
Esal,- Dept
விடை. import sqlite3
connection = sqlite3. connect ("organization.db")
cursor= connection . cursor ()
cursor. execute ("SELECT * FROM Employee GROUPBY
Dept")
result=cursor . fetchall()
print (* result, sep="\n")
4. பின்வரும் விவரங்களை படிக்கவும்
அதன் அடிப்படையில் பதிவுகளை Eno இறங்குவரிசையில் திரையிட பைத்தான் ஸ்கிரிப்ட்டை எழுதவும்.
தரவுத்தள பெயர் :
organization.db
அட்டவணை பெயர் : Employee
புலங்கள் : Eno, EmpName,
Esal, Dept
விடை . import sqlite3
connection = sqlite3 . connect ("organization. db")
cursor=connection . cursor ()
cursor. execute ("SELECT * FROM Employee ORDER BY Eno
DESC")
result = cursor . fetchall ()
print (*result, sep = "\n")
பகுதி - ஈ
அனைத்து வினாக்களுக்கும்
விடையளி
1. SQLite பற்றி விரிவாக எழுதவும்.
அதனை பயன்படுத்தும் படிநிலைகளை எழுதுக.
விடை. (i) SQLite என்பது எளிய உறவுநிலை தரவுத்தள அமைப்பாகும். இது தரவுகளை
முறையான தரவுக்கோப்புகளாகவும் கணினியின் உட்புற நினைவகத்தில் கூட சேமித்து வைக்கும்.
(ii) இது MySQL அல்லது Oracle போன்று தனித்த தரவுத்தள சேவையக நிரலாக
இல்லாமல் உள்ளிணைந்த பயன்பாடாக வடிவமைக்கப்பட்டுள்ளது.
(ii) வேகமாகவும், மிகுந்த சோதிக்கப்பட்டதாகவும் மற்றும் நெகிழ்வானதாகவும்
உள்ளதால் SQLite-ல் வேலை செய்வது எளிதாகும். SQLite ற்காக பைத்தான் சிறப்பான நூலகத்தைக்
கொண்டுள்ளது. SQLite யைப் பயன்படுத்த,
(iv) படிநிலை 1 sqlite 3 இணைக்கவும்.
(v) படிநிலை 2 connect () வழிமுறையைப் பயன்படுத்தி இணைப்பை உருவாக்கி
தரவுத்தளத்தின் பெயரை அணுப்பவும்.
(vi) படிநிலை 3 cursor=connection.cursor() என்றக் கூற்றைப் பயன்படுத்தி
cursor என்னும் பொருளை அணுகவும்.
(vii) படிநிலை 2 ல் தரவுத்தளத்தை இணைத்தல் என்பது, அணுக வேண்டிய தரவுத்தளத்தின்
பெயரைஅணுப்புதல் என்பதாகும். அவ்வாறு அணுப்பும்போது, அத்தரவுத்தளம் ஏற்கனவே இருக்குமாயின்
அது இணைக்கப்படும். இல்லாவிடில், பைத்தான், கொடுக்கப்பட்ட பெயரில் ஒரு புதிய தரவுத்தளத்தை
உருவாக்கும்.
(viii) படிநிலை3ல் cursor என்பது ஒரு கட்டுப்பாட்டு அமைப்பாகும், இது
தரவுத்தளப் பதிவுகளை இணைக்கப் பயன்படுகிறது.
(ix) பைத்தானில், cursor மிக முக்கிய பங்குவகிக்கின்றது. அனைத்து கட்டளைகளும்
cursor பொருள் மூலம் மட்டுமே இயக்கப்படும்.
(x) ஒரு அட்டவணையை உருவாக்க, தரவுத்தளத்தில் ஒரு பொருளை உருவாக்கி அதற்கான
SQL கட்டளைகளை எழுத வேண்டும். எடுத்துக்காட்டு:- sql_comm = "SQL
statement"
(xi) கட்டளைகளை நிறைவேற்ற cursor வழிமுறையைப் பயன்படுத்தி sql கட்டளையின்
பெயரை அளபுருக்களாக அனுப்ப வேண்டும். sql_commல் நிறைய கட்டளைகள் சேமிக்கப்பட்டு அவை
நிறைவேற்றப்படும். அனைத்து செயல்களையும் முடித்த பின்னர் மாற்றங்களைக் கோப்பில் சேமித்து
பின்னர் இணைப்பை மூட வேண்டும்.
2. (fetchmany) பயன்படுத்தி பின்வரும்
அட்டவணையிலுள்ள அனைத்து பதிவுகளையும் திரையிடுவதற்கான பைத்தான் ஸ்கிரிப்ட்டை எழுதவும்.
விடை : பைத்தான் ஸ்கிரிப்ட்
import sqlite3
connection = sqlite3.connect ("shop.db")
cursor = connection . cursor () cursor . execute ("SELECT*
FROM electronics")
result = cursor . fetchall ()
print (* result, sep = "\n")
வெளியீடு :
fetching first 5 records :
[(1003, 'Scanner', '10,500'), (1004, 'Speake '3000'), (1005,
'Printer', '8000') (1008
'Monitor', '15000'), (1010, 'Mouse', '700')]
3. HAVING துணை நிலைக்கூற்றின்
பயன் யாது? எடுத்துக்காட்டு தருக.
விடை. குழு சார்புகளைப் பொறுத்து தரவுகளை வடிகட் HAVING துணை நிலைக்கூற்று
பயன்படுகிறது இது WHERE நிபந்தனை கூற்றை ஒத்ததாக ஆனால் குழு சார்புகளுடன் பயன்படுகிறது.
குழு சார்புகளை WHERE துணை நிலைக் கூற்றில் பயன்படுத்த முடியாது. ஆனால், HAVI துணை
நிலைக் கூற்றில் பயன்படுத்த முடியும்.
எடுத்துக்காட்டு:
import sqlite3
connection = sqlite3.connect("Academy.dk
cursor = connection.cursor()
cursor.execute("SELECT
GENDER,COUNT(GENDER) FROM
Student GROUP BY GENDER HAVING
COUNT(GENDER)>3")
result = cursor.fetchall()
co= [i[0] for i in cursor.description]
print(co)
print(result)
வெளியீடு:
['gender', 'COUNT(GENDER)']
[('M', 5)]
4. பின்வரும் குறிப்புகளைக் கொண்டு
ITE என்ற அட்டவணையை உருவாக்க பைத்தா ஸ்கிரிப்ட்டை எழுதவும்.
அட்டவணைக்கு ஒரு பதிவை சேர்க்கவும்.
தரவுத்தளத்தின் பெயர் : ABC
அட்டவணையின் பெயர் : Item
நெடுவரிசையின் பெயர் மற்றும் விவரங்கள்
:
விடை : import sqlite3
connection = sqlite3 . connect ("ABc.db")
cursor = connection, cursor()
sql_command = """
CREATE TABLE Item (Icode INTEGER,
Item Name VARCHAR(25), Rate Integer); “ “ “
cursor.execute (sql_command)
sql_command = " " "INSERT INTO Item (Icode,
Item_name, Rate)
VALUES (1008, "Monitor", 15000);" " “
cursor.execute (sql_command)
connection.commit()
connection.close()
5. பின்வரும் supplier மற்றும்
Item அட்டவணைகளை கவனித்து, (i) மற்றும் (ii) வினாக்களுக்கு பைத்தான் ஸ்கிரிப்ட்டை எழுதவும்.
i) டெல்லியில் வசிக்காத மொத்த விற்பனையாளர்களின் Name, City மற்றும்
Itemname களை திரையிடவும்.
ii) அகிலாவின் suppQty யில் உள்ள மதிப்பேடு 40-யை அதிகரிக்கும்.
விடை. () import sqlite3
connection = sqlite3.connection ("supplier.db")
cursor = connection.cursor()
cursor.execute ("SELECT Name, City,
Icode FROM Item WHERE City <>"Delhi")
result = cursor.fetchall
()
print (* result, sep = "\n")
(ii) import sqlite3
conn = sqlite3.connect ("supplier.db")
conn.execute ("UPDATE Item SET Name
= 'Akila’ WHERE SuppQty = 235)
conn.commit()
cursor = conn.execute("SELECT *FROM Item")
for row in cursor:
print (row)
conn.close()