الثلاثاء، 31 ديسمبر 2019

برمجة العمليات الموزعة او المجزئة في بايثون بيثون Python Multithreaded Programming

برمجة العمليات الموزعة او المجزئة في بايثون بيثون

 Python  Multithreaded Programming

مزيد من المعلومات »

التسميات:

الاثنين، 30 ديسمبر 2019

التعابير العادية في جافا Java Regular Expressions

التعابير العادية في جافا

 Java Regular Expressions

مزيد من المعلومات »

التسميات:

إرسال بريد باستخدام برتوكول إرسال البريد الإلكتروني في بايثون بيثون Python Sending Email using SMTP

إرسال بريد باستخدام برتوكول إرسال البريد الإلكتروني في بايثون بيثون 

Python  Sending Email using SMTP 

مزيد من المعلومات »

التسميات:

الأحد، 29 ديسمبر 2019

برمجة الشبكات بايثون بيثون Python Network Programming

برمجة الشبكات بايثون بيثون Python

  Network Programming

مزيد من المعلومات »

التسميات:

السبت، 28 ديسمبر 2019

الوصول إلى قواعد البيانات واستخدام لغة الاستعلام البنيوية في بايثون بيثون How do I connect to a MySQL database in python?

الوصول إلى قواعد البيانات واستخدام لغة الاستعلام البنيوية في بايثون بيثون

 Python  MySQL Database Access

كيف يمكنني الاتصال بقاعدة بيانات MySQL في لغة بايثون بيثون ؟How do I connect to a MySQL database in python?

كيف يمكنني الاتصال بقاعدة بيانات MySQL في لغة بايثون بيثون ؟How do I connect to a MySQL database in python?


معيار بايثون Python لواجهات قاعدة البيانات هو Python DB API.  تلتزم معظم واجهات قاعدة بيانات  بايثون Python بهذا المعيار.

 يمكنك اختيار قاعدة البيانات الصحيحة للتطبيق الخاص بك.  يدعم Python Database API مجموعة واسعة من خوادم قواعد البيانات مثل -
  • GadFly
  • mSQL
  • MySQL
  • PostgreSQL
  • Microsoft SQL Server 2000
  • Informix
  • Interbase
  • Oracle
  • Sybase
فيما يلي قائمة بواجهات قاعدة بيانات  بايثون Python المتاحة: واجهات قاعدة بيانات بايثون Python وواجهات برمجة التطبيقات.  يجب عليك تنزيل وحدة API DB منفصلة لكل قاعدة بيانات تحتاج إلى الوصول إليها.  على سبيل المثال ، إذا كنت بحاجة إلى الوصول إلى قاعدة بيانات Oracle وكذلك قاعدة بيانات MySQL ، فيجب عليك تنزيل كل من وحدات قاعدة بيانات Oracle و MySQL.

 يوفر DB API الحد الأدنى من المعايير للعمل مع قواعد البيانات باستخدام بيثون بناء الجملة والبناء كلما كان ذلك ممكنا.  يتضمن API هذا ما يلي -
  1.  استيراد وحدة API.
  2.  الحصول على اتصال مع قاعدة البيانات.
  3.  إصدار عبارات SQL والإجراءات المخزنة.
  4.  إغلاق الاتصال
 سنتعلم جميع المفاهيم باستخدام MySQL ، لذلك دعونا نتحدث عن وحدة MySQLdb.

What is MySQLdb? ماهي قاعدة البيانات 

MySQLdb هي واجهة للاتصال بخادم قاعدة بيانات MySQL من بيثون.  وهي تنفذ الإصدار 2.0 من Python Database API وهي مبنية على واجهة MySQL C API.

تحميل قاعدة البيانات How do I Install MySQLdb?

قبل المتابعة ، تأكد من تثبيت MySQLdb على جهازك.  فقط اكتب ما يلي في البرنامج النصي  بايثون Python وقم بتنفيذه -
#!/usr/bin/python

import MySQLdb

إذا كان ينتج النتيجة التالية ، فهذا يعني أن وحدة MySQLdb غير مثبتة -
Traceback (most recent call last):
   File "test.py", line 3, in 
      import MySQLdb
ImportError: No module named MySQLdb
لتثبيت وحدة MySQLdb ، استخدم الأمر التالي -
For Ubuntu, use the following command -
$ sudo apt-get install python-pip python-dev libmysqlclient-dev
For Fedora, use the following command -
$ sudo dnf install python python-devel mysql-devel redhat-rpm-config gcc
For Python command prompt, use the following command -
pip install MySQL-python

ملاحظة - تأكد من حصولك على امتياز الجذر لتثبيت الوحدة أعلاه.

Database Connection الاتصال في قاعدة البيانات

قبل الاتصال بقاعدة بيانات MySQL ، تأكد من ما يلي -
  •  لقد قمت بإنشاء قاعدة بيانات TESTDB.
  •  قمت بإنشاء جدول الموظف في TESTDB.
 يحتوي هذا الجدول على حقول FIRST_NAME و LAST_NAME و AGE و SEX و INCOME.
 يتم تعيين معرف المستخدم "testuser" وكلمة المرور "test123" للوصول إلى TESTDB.
 تم تثبيت Python module MySQLdb بشكل صحيح على جهازك.
 لقد مررت ببرنامج MySQL التعليمي لفهم أساسيات MySQL.

مثال Example

فيما يلي مثال الاتصال بقاعدة بيانات MySQL "TESTDB"
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# execute SQL query using execute() method.
cursor.execute("SELECT VERSION()")

# Fetch a single row using fetchone() method.
data = cursor.fetchone()
print "Database version : %s " % data

# disconnect from server
db.close()
أثناء تشغيل هذا البرنامج النصي ، ينتج عنه النتيجة التالية في جهاز Linux الخاص بي.
Database version : 5.0.45
إذا تم إنشاء اتصال بمصدر البيانات ، فسيتم إرجاع كائن الاتصال وحفظه في ديسيبل لاستخدامه مرة أخرى ، وإلا يتم تعيين ديسيبل على بلا.  بعد ذلك ، يتم استخدام كائن db لإنشاء كائن مؤشر ، والذي بدوره يستخدم لتنفيذ استعلامات SQL.  أخيرًا ، قبل الخروج ، يضمن إغلاق اتصال قاعدة البيانات وإطلاق الموارد.

Creating Database Table إنشاء جدول قاعدة البيانات

بمجرد إنشاء اتصال قاعدة بيانات ، نحن على استعداد لإنشاء جداول أو سجلات في جداول قاعدة البيانات باستخدام طريقة تنفيذ المؤشر الذي تم إنشاؤه.

مثال Example

دعنا ننشئ جدول قاعدة بيانات الموظف -
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Drop table if it already exist using execute() method.
cursor.execute("DROP TABLE IF EXISTS EMPLOYEE")

# Create table as per requirement
sql = """CREATE TABLE EMPLOYEE (
         FIRST_NAME  CHAR(20) NOT NULL,
         LAST_NAME  CHAR(20),
         AGE INT,  
         SEX CHAR(1),
         INCOME FLOAT )"""

cursor.execute(sql)

# disconnect from server
db.close()

INSERT Operation عملية الادخال

مطلوب عندما تريد إنشاء سجلاتك في جدول قاعدة البيانات.

مثال Example

المثال التالي ينفذ عبارة SQL INSERT لإنشاء سجل في جدول الموظفين -
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Prepare SQL query to INSERT a record into the database.
sql = """INSERT INTO EMPLOYEE(FIRST_NAME,
         LAST_NAME, AGE, SEX, INCOME)
         VALUES ('Mac', 'Mohan', 20, 'M', 2000)"""
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

يمكن كتابة المثال أعلاه على النحو التالي لإنشاء استعلامات SQL بشكل حيوي -
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Prepare SQL query to INSERT a record into the database.
sql = "INSERT INTO EMPLOYEE(FIRST_NAME, \
       LAST_NAME, AGE, SEX, INCOME) \
       VALUES ('%s', '%s', '%d', '%c', '%d' )" % \
       ('Mac', 'Mohan', 20, 'M', 2000)
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

مثال Example

مقطع التعليمات البرمجية التالي هو شكل آخر من أشكال التنفيذ حيث يمكنك تمرير المعلمات مباشرة -
..................................
user_id = "test123"
password = "password"

con.execute('insert into Login values("%s", "%s")' % \
             (user_id, password))
..................................

READ Operation عمليات القراءة 

اقرأ العملية على أي قاعدة بيانات تعني جلب بعض المعلومات المفيدة من قاعدة البيانات.
 بمجرد إنشاء اتصال قاعدة البيانات الخاصة بنا ، تكون على استعداد للاستعلام عن قاعدة البيانات.  يمكنك استخدام إما طريقة fetchone () لجلب سجل مفرد أو طريقة fetchall () لجلب قيم متعددة من جدول قاعدة البيانات.
  • fetchone() − يجلب الصف التالي من مجموعة نتائج الاستعلام.  مجموعة النتائج هي كائن يتم إرجاعه عند استخدام كائن مؤشر للاستعلام عن جدول.
  • fetchall() −يجلب كل الصفوف في مجموعة النتائج.  إذا تم بالفعل استخراج بعض الصفوف من مجموعة النتائج ، فسوف يسترجع الصفوف المتبقية من مجموعة النتائج.
  • rowcount − هذه سمة للقراءة فقط وتُرجع عدد الصفوف التي تأثرت بأسلوب execute ().

مثال Example

يستفسر الإجراء التالي عن كافة السجلات الموجودة في جدول الموظفين الذين لديهم راتب يزيد عن 1000 -
#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

sql = "SELECT * FROM EMPLOYEE \
       WHERE INCOME > '%d'" % (1000)
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Fetch all the rows in a list of lists.
   results = cursor.fetchall()
   for row in results:
      fname = row[0]
      lname = row[1]
      age = row[2]
      sex = row[3]
      income = row[4]
      # Now print fetched result
      print "fname=%s,lname=%s,age=%d,sex=%s,income=%d" % \
             (fname, lname, age, sex, income )
except:
   print "Error: unable to fecth data"

# disconnect from server
db.close()
هذا سوف ينتج النتيجة التالية -
fname=Mac, lname=Mohan, age=20, sex=M, income=2000

Update Operation عملية الحذف 

تحديث العملية على أي قاعدة بيانات تعني تحديث سجل واحد أو أكثر ، والمتوفر بالفعل في قاعدة البيانات.
 الإجراء التالي بتحديث جميع السجلات التي تحتوي على SEX كـ "M".  هنا ، سنزيد العمر لكل الذكور لمدة عام.

مثال Example

#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Prepare SQL query to UPDATE required records
sql = "UPDATE EMPLOYEE SET AGE = AGE + 1
                          WHERE SEX = '%c'" % ('M')
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

DELETE Operation عملية الحذف 

 −عملية DELETE مطلوبة عندما تريد حذف بعض السجلات من قاعدة البيانات الخاصة بك.  فيما يلي الإجراء المتبع لحذف جميع السجلات من الموظف حيث يبلغ العمر أكثر من 20 عامًا

مثال Example

#!/usr/bin/python

import MySQLdb

# Open database connection
db = MySQLdb.connect("localhost","testuser","test123","TESTDB" )

# prepare a cursor object using cursor() method
cursor = db.cursor()

# Prepare SQL query to DELETE required records
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

# disconnect from server
db.close()

Performing Transactions تنفيذ المعاملات

المعاملات هي آلية تضمن تناسق البيانات.  المعاملات لها الخصائص الأربعة التالية -
  • Atomicity − إما أن تكتمل المعاملة أو لا يحدث شيء على الإطلاق.
  • Consistency − يجب أن تبدأ المعاملة في حالة متسقة وترك النظام في حالة متسقة.
  • Isolation −النتائج الوسيطة للمعاملة غير مرئية خارج المعاملة الحالية.
  • Durability  − بمجرد الالتزام بالمعاملة ، تكون التأثيرات مستمرة ، حتى بعد فشل النظام.

     يوفر Python DB API 2.0 طريقتين للالتزام أو التراجع عن المعاملة.

مثال Example

أنت تعرف بالفعل كيفية تنفيذ المعاملات.  هنا مثال مماثل مرة أخرى -
# Prepare SQL query to DELETE required records
sql = "DELETE FROM EMPLOYEE WHERE AGE > '%d'" % (20)
try:
   # Execute the SQL command
   cursor.execute(sql)
   # Commit your changes in the database
   db.commit()
except:
   # Rollback in case there is any error
   db.rollback()

COMMIT Operation الاعتماد وتطبيق التغيرات على قاعدة البيانات 

.الالتزام هو العملية التي تعطي إشارة خضراء لقاعدة البيانات لإنهاء التغييرات ، وبعد هذه العملية لا يمكن التراجع عن أي تغيير.

 هنا مثال بسيط للاتصال بأسلوب الالتزام
db.commit()

ROLLBACK Operation للتراجع 

إذا لم تكن راضيًا عن واحد أو أكثر من التغييرات وتريد عكس تلك التغييرات تمامًا ، فاستخدم طريقة الاستعادة ().

 هنا مثال بسيط لاستدعاء طريقة الاستعادة ().
db.rollback()

Disconnecting Database إنهاء الاتصال بقاعدة البيانات 

لقطع اتصال قاعدة البيانات ، استخدم طريقة إغلاق ().
db.close()
إذا تم إغلاق الاتصال بقاعدة بيانات من قبل المستخدم باستخدام طريقة الإغلاق () ، فسيتم إرجاع أي معاملات معلقة بواسطة قاعدة البيانات.  ومع ذلك ، بدلاً من الاعتماد على أي من تفاصيل تطبيق المستوى الأدنى لقاعدة البيانات ، سيكون تطبيقك في وضع أفضل من الالتزام أو التراجع صراحةً.

Handling Errors التعامل مع الأخطاء 

هناك العديد من مصادر الأخطاء.  بعض الأمثلة هي خطأ في بناء الجملة في عبارة SQL المنفذة ، أو فشل الاتصال ، أو استدعاء طريقة الجلب لمقبض العبارة الذي تم إلغاؤه أو انتهى بالفعل.

 يعرّف DB API عدد من الأخطاء التي يجب أن توجد في كل وحدة نمطية لقاعدة البيانات.  يسرد الجدول التالي هذه الاستثناءات.
الرقم المتسلسلالاستثناء والوصف
1
Warning
تستخدم للقضايا غير المميتة.  يجب أن فئة فرعية StandardError.
2
Error
الفئة الأساسية للأخطاء.  يجب أن فئة فرعية StandardError.
3
InterfaceError
يستخدم للأخطاء في وحدة قاعدة البيانات ، وليس في قاعدة البيانات نفسها.  يجب خطأ فئة فرعية.
4
DatabaseError
يستخدم للأخطاء في قاعدة البيانات.  يجب خطأ فئة فرعية.
5
DataError
فئة فرعية من DatabaseError تشير إلى أخطاء في البيانات.
6
OperationalError
فئة فرعية من DatabaseError التي تشير إلى أخطاء مثل فقدان الاتصال بقاعدة البيانات.  هذه الأخطاء عادة ما تكون خارج نطاق سيطرة بايثون.
7
IntegrityError
فئة فرعية من DatabaseError للحالات التي من شأنها أن تضر بالعلاقة التكاملية ، مثل قيود التفرد أو المفاتيح الخارجية.
8
InternalError
فئة فرعية من DatabaseError تشير إلى الأخطاء الداخلية لوحدة قاعدة البيانات ، مثل المؤشر لم يعد نشطًا.
9
ProgrammingError
فئة فرعية من DatabaseError تشير إلى أخطاء مثل اسم جدول غير صالح وأشياء أخرى يمكن إلقاء اللوم عليها عليك بأمان.
10
NotSupportedError
فئة فرعية من DatabaseError تشير إلى محاولة استدعاء وظائف غير مدعومة.
يجب أن تتعامل نصوص  بايثون Python الخاصة بك مع هذه الأخطاء ، ولكن قبل استخدام أيٍ من الاستثناءات المذكورة أعلاه ، تأكد من دعم MySQLdb لهذا الاستثناء.  يمكنك الحصول على مزيد من المعلومات حولهم من خلال قراءة مواصفات DB API 2.0.

الاتصال مع قواعد البيانات  بايثون ويندوز من خلال سيرفر XAMPP

أولا وقبل كل شيء علينا تثبيت حزمة موصل mysql python.  لتثبيت حزمة mysql ، قم بما يلي: انتقل إلى دليل Scripts في  بايثون python.هذا يعتمد أين أنت تحتفظ او قمت بتحميل بايثون  على اي جزء او قسم من القرص الصلب في جهازك الحاسوب. 

C:\Software\Python\Python36-32\SCRIPTS
 في جهازي الحاسوب  قمت بتحميل لغة بايثون في الدليل او القسم C فإذا كانت لدى في قسم  اخر انسخ الدليل بالكامل وإلصقه في محرر الأوامر  DOS  مع كتابة الأمر كالتالي. 
C:\Software\Python\Python36-32\Scripts> pip install pymysql

عندها سيتم تحميل قواعد بيانات بايثون والان الي ربطها مع سيرفر اكزامب XAMMP. 

كيفية الاتصال مع قاعدة البيانات بايثون في ويندوز

 أنا أستخدم xampp لقاعدة البيانات الخاصة بي.  هذه خطوة اختيارية ، إذا كان لديك MySQL مثبتًا بالفعل ، فيمكنك تخطي هذه الخطوة.
قبل بدء كتابة الكود  ، قم بتشغيل سيرفر xampp وابدأ Apache & MySQL.  في المتصفح اكتب
 (https: // localhost / phpmyadmin /) ، 
لقد قمت بإنشاء قاعدة بيانات باسم databaseName والتي تظهر أدناه:

كيفية الاتصال مع قاعدة البيانات بايثون في ويندوز


كيف تنشيء او تبني  قاعدة بيانات في سيرفر اكزامب xampp 

انقر فوق علامة التبويب قاعدة البيانات  Database .  الآن يجب أن ترى خيار إنشاء قاعدة بيانات وحقل إدخال لإدخال اسم قاعدة البيانات.  اكتب اسم قاعدة البيانات واضغط على الزر "إنشاء".  سترى رسالة نجاح ف.

 من قائمة الجداول ، يمكنك عرض قاعدة البيانات الخاصة بك.  أنت حر في استخدام قاعدة البيانات هذه أينما تريد مع الإعدادات الافتراضية.  بشكل افتراضي ، اسم المضيف هو "localhost" ، مستخدم MySQL هو "root"  وبدون كلمة مرور.

كيف تنشيء او تبني  قاعدة بيانات في سيرفر اكزامب xampp


كيفية إنشاء الجداول باستخدام phpMyAdmin XAMPP

تلعب الجداول دورًا حيويًا في تخزين المعلومات (المحتوى الديناميكي).  في XAMPP MySQL قم بتخزين المعلومات في الجداول.  يمكنك بسهولة إضافة جداول إلى MySQL باستخدام واجهة مستخدم phpMyAdmin البديهية.  في phpMyAdmin ، انقر فوق علامة التبويب "الهيكل Structure".  أسفل قائمة الجداول في أسفل الصفحة ، انقر فوق معالج "إنشاء جدول جديد في قاعدة البيانات" للبدء.  أولاً ، أضف اسم الجدول والعدد الإجمالي للحقول واضغط على زر "Go".

كيفية إنشاء الجداول باستخدام phpMyAdmin XAMPP


بهذه الطريقة سيتم تشغيلك إلى معالج خطوة بخطوة حيث تحتاج إلى ملء الحقول المطلوبة.  أولاً ، قم بتسمية جميع الحقول وحدد النوع المناسب لكل حقل.  ومع ذلك ، من أجل اختيار النوع ، استخدم القائمة المنسدلة "النوع" واملأ قيمة بطول كل حقل.  بعد ذلك ، عيّن "سمة" لكل حقل.  من القائمة المنسدلة "Null" ، حدد الخيار null وحدد ما إذا كان الحقل المحدد مفتاحًا أساسيًا أم لا.  وأخيرًا ، حدد نوع الجدول وطريقة الترتيب وانقر على الزر "حفظ" لإنهاء عملية إنشاء الجدول.


الان  كيفية االاتصال مع قواعد البيانات في محرر النصوص الخاص ب بايثون؟ 

الأوامر هي نفسها التي استخدمناها مع حرر البيانات بايثون سكريبت في نظام لينكس، سوف اعيد كتابتها للاتصال مع قاعدة البيانات التي انشانها على سيرفر اكزامب xampp. 

import
pymysql
#database connection
connection = pymysql.connect(host=
"localhost"
, user=
"root"
, passwd=
""
, database=
"databaseName"
) cursor = connection.cursor()
# Query for creating table
ArtistTableSql =
"""CREATE TABLE Artists( ID INT(20) PRIMARY KEY AUTO_INCREMENT, NAME CHAR(20) NOT NULL, TRACK CHAR(10))"""
cursor.execute(ArtistTableSql) connection.close()
سيتم إنشاء جدول Artists باستخدام أوامر لغة الاستعلام البنيوية sql.  يمكنك رؤيته في متصفحك.
كيفية االاتصال مع قواعد البيانات في محرر النصوص الخاص ب بايثون


كيفية إضافة بيانات في بايثون Python MySQL

 الآن اهتمامنا هو إدراج بعض كيانات الصف في الجدول.  عليك أولاً كتابة الاستعلامات لإدخال بيانات مختلفة ، ثم تنفيذها بمساعدة المؤشر.
import pymysql
#database connection
connection = pymysql.connect(host=
"localhost"
, user=
"root"
, passwd=
""
, database=
"databaseName"
) cursor = connection.cursor()
# queries for inserting values
insert1 =
"INSERT INTO Artists(NAME, TRACK) VALUES('Towang', 'Jazz' );"
insert2 =
"INSERT INTO Artists(NAME, TRACK) VALUES('Sadduz', 'Rock' );"
#executing the quires
cursor.execute(insert1) cursor.execute(insert2)
#commiting the connection then closing it.
connection.commit() connection.close()

كيفية استرجاع البيانات في قواعد البيانات بايثون Python MySQL

 لقد أدخلنا صفين في الكود أعلاه.  الآن نريد استرداد هؤلاء.  للقيام بذلك ، ألق نظرة على المثال التالي:

import pymysql
#database connection
connection = pymysql.connect(host=
"localhost"
, user=
"root"
, passwd=
""
, database=
"databaseName"
) cursor = connection.cursor()
# queries for retrievint all rows
retrive =
"Select * from Artists;"
#executing the quires
cursor.execute(retrive) rows = cursor.fetchall() for row in rows: print(row)
#commiting the connection then closing it.
connection.commit() connection.close()


المخرجات كالتالي. 
كيفية استرجاع البيانات في قواعد البيانات بايثون Python MySQL

كيفية تحديث البيانات في قواعد البيانات بايثون في Python MySQL

 لنفترض أنك تريد إعادة تسمية اسم الفنان الأول من Towang إلى Tauwang.  لتحديث أي سمة لأي كيان ، قم بما يلي:

updateSql = "
UPDATE
Artists
SET
NAME
=
'Tauwang'
WHERE
ID
=
'1'
;" cursor.execute(updateSql )

كيفية حذف سجل في قاعدة البيانات بايثون Python MySQL

 لحذف كيان ، عليك تنفيذ ما يلي:

deleteSql = "
DELETE
FROM
Artists
WHERE
ID
=
'1'
; " cursor.execute(deleteSql )

كيفية حذف جدول في قاعدة البيانات بايثون Python MySQL

 قد تحتاج في بعض الأحيان إلى حذف أي جدول قبل إنشاء أي جدول جديد حتى لا يحدث تضارب الأسماء هذا.  هنا حذف  جدول Artists ، يمكنك القيام بذلك على النحو التالي:

dropSql = "DROPTABLEIFEXISTS Artists;" cursor.execute(dropSql)








التسميات:

الشهادات في التسويق من خلال البريد الإلكتروني الاميل Email Marketing Certifications

الشهادات في التسويق من خلال البريد الإلكتروني الاميل

 Email Marketing Certifications

مزيد من المعلومات »

التسميات:

الجمعة، 27 ديسمبر 2019

برمجة واجهة البوابة المشتركة بايثون بيثون Python CGI Programming

برمجة واجهة البوابة المشتركة بايثون بيثون Python  CGI Programming

مزيد من المعلومات »

التسميات:

نصائح التسويق من خلال البريد الإلكتروني الاميل Email Marketing Tips

نصائح التسويق من خلال البريد الإلكتروني الاميل 

Email Marketing  Tips

مزيد من المعلومات »

التسميات:

الخميس، 26 ديسمبر 2019

متابعة في التسويق من خلال البريد الإلكتروني الاميلEmail Marketing Follow UPS

متابعة في التسويق من خلال البريد الإلكتروني الاميل

Email Marketing Follow UPS  

مزيد من المعلومات »

التسميات:

الأربعاء، 25 ديسمبر 2019

الاتمتة في التسويق من خلال البريد الإلكتروني الاميل Email Marketing Automation

الاتمتة في التسويق من خلال البريد الإلكتروني الاميل 

Email Marketing Automation

مزيد من المعلومات »

التسميات:

التعابير المنتظمة في بايثون بيثون Python Regular Expressions

التعابير المنتظمة في بايثون بيثون 

Python Regular Expressions

مزيد من المعلومات »

التسميات:

الثلاثاء، 24 ديسمبر 2019

البرمجة كائنية التوجه في بايثون بيثون Python Object Oriented

البرمجة كائنية التوجه في بايثون بيثون 

Python  Object Oriented

مزيد من المعلومات »

التسميات:

المقاييس في التسويق من خلال البريد الإلكتروني الاميل Email Marketing Metrics

المقاييس في التسويق من خلال البريد الإلكتروني الاميل 

Email Marketing Metrics

مزيد من المعلومات »

التسميات:

الاثنين، 23 ديسمبر 2019

التعامل مع الاستثناءات في بايثون بيثون Python Exceptions Handling

التعامل مع الاستثناءات في بايثون بيثون 

Python  Exceptions Handling

مزيد من المعلومات »

التسميات:

مزودي الخدمات في التسويق من خلال البريد الإلكتروني الاميل Email Marketing Service Providers

مزودي الخدمات في التسويق من خلال البريد الإلكتروني الاميل

 Email Marketing Service Providers

مزيد من المعلومات »

التسميات:

الأحد، 22 ديسمبر 2019

تجنب ان تدرج على القائمة السوداء خلال التسويق عبر البريد الإلكتروني الاميلEmail Marketing Avoid Being Blacklisted

تجنب ان تدرج على القائمة السوداء خلال التسويق عبر البريد الإلكتروني الاميل

Email Marketing  Avoid Being Blacklisted 

مزيد من المعلومات »

التسميات:

التعامل مع الملفات الإدخال والإخراج في بايثون بيثون Python Files I/O

التعامل مع الملفات الإدخال والإخراج في بايثون بيثون 

Python Files I/O

مزيد من المعلومات »

التسميات:

السبت، 21 ديسمبر 2019

الوحدات في بايثون بيثون Python Modules

الوحدات في بايثون بيثون 

Python Modules

مزيد من المعلومات »

التسميات:

كيف تتجنب البريد المزعج عند التسويق من خلال البريد الإلكتروني الاميل Email Marketing How to Avoid Spamming?

كيف تتجنب البريد المزعج عند التسويق من خلال البريد الإلكتروني الاميل

 Email Marketing How to Avoid Spamming?

مزيد من المعلومات »

التسميات:

الجمعة، 20 ديسمبر 2019

الدوال في بايثون بيثون Python Functions

الدوال في بايثون بيثون

 Python Functions

مزيد من المعلومات »

التسميات:

الشكوى من البريد المزعج في التسويق من خلال البريد الإلكتروني الاميل Email Marketing Spam Compliance

الشكوى من البريد المزعج في التسويق من خلال البريد الإلكتروني الاميل

 Email Marketing  Spam Compliance

مزيد من المعلومات »

التسميات:

الصفحات المقصودة او الموجهة Email Marketing Landing Pages

الصفحات المقصودة او الموجهة

 Email Marketing  Landing Pages

مزيد من المعلومات »

التسميات:

الخميس، 19 ديسمبر 2019

الوقت والتاريخ في بايثون بيثون Python Date & Time

الوقت والتاريخ في بايثون بيثون

 Python  Date & Time

مزيد من المعلومات »

التسميات:

شرح ماهو مخطط النشاط في لغة النمذجة الموحدة UML What is Activity Diagrams

شرح ماهو مخطط النشاط في لغة النمذجة الموحدة UML   What is Activity Diagrams

ماهو مخطط النشاط في لغة النمذجة الموحدة UML   What is Activity Diagrams


مزيد من المعلومات »

التسميات:

المحتوى في التسويق من خلال البريد الإلكتروني الاميل Email Marketing Content

المحتوى في التسويق من خلال البريد الإلكتروني الاميل 

Email Marketing  Content

مزيد من المعلومات »

التسميات:

الأربعاء، 18 ديسمبر 2019

القاموس في بيثون بايثون Python Dictionary

القاموس في بيثون بايثون

 Python Dictionary

مزيد من المعلومات »

التسميات:

ماهو مخطط الحالة في لغة النمذجة الموحدة What is state diagram in UML? Statechart Diagrams

ماهو مخطط الحالة في لغة النمذجة الموحدة What is state diagram in UML? Statechart Diagrams
ماهو مخطط الحالة في لغة النمذجة الموحدة What is state diagram in UML? Statechart Diagrams


ماهو مخطط الحالة في لغة النمذجة الموحدة What is state diagram in UML? Statechart Diagrams

  • يوضح اسم المخطط نفسه الغرض من المخطط والتفاصيل الأخرى. يصف حالات مختلفة من مكون في النظام. الحالات خاصة بمكون / كائن من النظام.
  •  يصف مخطط Statechart جهاز الحالة. يمكن تعريف جهاز الحالة بأنه جهاز يحدد حالات مختلفة من كائن ويتم التحكم في هذه الحالات عن طريق أحداث خارجية أو داخلية.
  •  مخطط النشاط الموضح في الفصل التالي ، هو نوع خاص من مخطط Statechart. كما يحدد مخطط Statechart الحالات ، يتم استخدامه لنمذجة عمر الكائن.
  • يتم استخدام مخطط الحالة لتمثيل حالة النظام أو جزء منه في حالات زمنية محدودة. إنه مخطط سلوكي ويمثل السلوك باستخدام انتقالات الحالة المحدودة. يشار أيضًا إلى مخططات الحالة باسم آلات الحالة ومخططات مخطط الحالة. غالبًا ما تستخدم هذه المصطلحات بالتبادل. ببساطة ، يتم استخدام مخطط الحالة لنمذجة السلوك الديناميكي للفصل استجابةً للوقت والمحفزات الخارجية المتغيرة. يمكننا أن نقول أن كل فصل لديه حالة ولكننا لا نمذجة كل فئة باستخدام مخططات الولاية. نحن نفضل نمذجة الدول بثلاث حالات أو أكثر.

الغرض من مخططات الحالة Purpose of Statechart Diagrams

مخطط Statechart هو أحد مخططات UML الخمسة المستخدمة في نمذجة الطبيعة الديناميكية للنظام. يعرّفون حالات مختلفة لكائن أثناء حياته ويتم تغيير هذه الحالات حسب الأحداث. مخططات Statechart مفيدة لنمذجة الأنظمة التفاعلية. يمكن تعريف الأنظمة التفاعلية كنظام يستجيب للأحداث الخارجية أو الداخلية.
 يصف مخطط Statechart تدفق التحكم من حالة إلى أخرى. يتم تعريف الدول كشرط لوجود كائن ويتغير عندما يتم تشغيل حدث ما. الغرض الأكثر أهمية من مخطط Statechart هو نمذجة عمر كائن من الإنشاء إلى الإنهاء.
 تُستخدم مخططات Statechart أيضًا للهندسة الأمامية والخلفية للنظام. ومع ذلك ، فإن الغرض الرئيسي هو نمذجة النظام التفاعلي.
 فيما يلي الأغراض الرئيسية لاستخدام مخططات Statechart -
  •  لنمذجة الجانب الديناميكي للنظام.
  •  لنمذجة وقت حياة النظام التفاعلي.
  •  لوصف حالات مختلفة من كائن خلال فترة حياته.
  •  تحديد آلة الحالة لنمذجة حالات الكائن.

استخدامات مخطط الحالة what are the uses of state Diagram -

  • نستخدمها لتوضيح الأحداث المسؤولة عن التغيير في الحالة (لا نعرض العمليات التي تسبب تلك الأحداث).
  • نستخدمه لنمذجة السلوك الديناميكي للنظام.
  • لفهم رد فعل الأشياء / الفئات على المحفزات الداخلية أو الخارجية.

أولا دعونا نفهم ما هي مخططات السلوك ؟ يوجد نوعان من الرسوم البيانية في UML:

  1. المخططات الهيكلية structured Diagrams - تُستخدم لنمذجة الهيكل الثابت للنظام ، على سبيل المثال - مخطط الفئة ، ومخطط الحزمة ، ومخطط الكائن ، ومخطط النشر ، إلخ.
  2. مخطط السلوك Behaviour Diagrams - يستخدم لنمذجة التغيير الديناميكي في النظام بمرور الوقت. يتم استخدامها لنمذجة وبناء وظائف النظام. لذلك ، يرشدنا مخطط السلوك ببساطة من خلال وظائف النظام باستخدام مخططات الحالة المستخدمة ومخططات التفاعل ومخططات النشاط ومخططات الحالة.

الفرق بين مخطط الحالة Statechart Diagrams والمخطط الانسيابي Flowchart Digrams-

الغرض الأساسي من مخطط الحالة هو تصوير التغييرات المختلفة في حالة الفصل وليس العمليات أو الأوامر التي تسبب التغييرات. ومع ذلك ، فإن المخطط الانسيابي من ناحية أخرى يصور العمليات أو الأوامر التي تغير حالة الفصل أو كائن الفصل عند التنفيذ.

مخطط الدولة- UML

الشكل - مخطط حالة للتحقق من المستخدم

يوضح مخطط الحالة أعلاه الحالات المختلفة التي يوجد فيها النظام الفرعي للتحقق أو الفئة لنظام معين.

المكونات الأساسية لمخطط الحالة what are the components of state diagrams-

What are elements of a state in a state diagram ما هي عناصر مخطط الحالة  

  1. الحالة الأولية - نستخدم دائرة سوداء مملوءة تمثل الحالة الأولية لنظام أو فئة.

    مخطط الدولة- UML

    الشكل - تدوين الحالة الأولية
  2. الانتقال - نستخدم سهمًا ثابتًا لتمثيل الانتقال أو تغيير التحكم من حالة إلى أخرى. يتم تسمية السهم بالحدث الذي يتسبب في التغيير في الحالة.

    مخطط الدولة- UML

    الشكل - الانتقال
  3. الولاية - نستخدم مستطيلاً مستدير الزوايا لتمثيل الدولة. تمثل الحالة شروط أو ظروف كائن من فئة في لحظة زمنية.
    مخطط الدولة- UML
    الشكل - تدوين الحالة
  4. الشوكة - نستخدم شريطًا مستطيلًا مصمتًا دائريًا لتمثيل تدوين الشوكة مع سهم وارد من الحالة الأصلية وأسهم صادرة باتجاه الحالات المنشأة حديثًا. نستخدم رمز الشوكة لتمثيل حالة منقسمة إلى حالتين متزامنتين أو أكثر.

    مخطط الدولة- UML

    الشكل - رسم تخطيطي باستخدام تدوين مفترق
  5. الضم - نستخدم شريط مستطيل مصمت دائري الشكل لتمثيل تدوين الانضمام مع الأسهم الواردة من حالات الانضمام والسهم الصادر باتجاه حالة الهدف المشترك. نستخدم تدوين الصلة عندما تتلاقى حالتان أو أكثر في وقت واحد في حالة واحدة عند حدوث حدث أو أحداث.

    مخطط الدولة- UML

    الشكل - رسم تخطيطي باستخدام تدوين الربط
  6. الانتقال الذاتي - نستخدم سهمًا صلبًا يشير إلى الحالة نفسها لتمثيل انتقال ذاتي. قد تكون هناك سيناريوهات عندما لا تتغير حالة الكائن عند وقوع الحدث. نستخدم الانتقالات الذاتية لتمثيل مثل هذه الحالات.

    مخطط الدولة- UML

    الشكل - تدوين الانتقال الذاتي
  7. الحالة المركبة - نستخدم مستطيلًا مستدير الزوايا لتمثيل الحالة المركبة أيضًا ، ونمثل حالة ذات أنشطة داخلية باستخدام حالة مركبة.

    مخطط الدولة- UML

    الشكل - دولة ذات أنشطة داخلية
  8. الحالة النهائية - نستخدم دائرة ممتلئة داخل ترميز دائرة لتمثيل الحالة النهائية في مخطط آلة الحالة.

    مخطط الدولة- UML

    الشكل - تدوين الحالة النهائية

خطوات رسم مخطط الحالة what Are the steps for drawing state diagram -

  1. تحديد الحالة الأولية وحالات الإنهاء النهائية.
  2. حدد الحالات المحتملة التي يمكن أن يوجد فيها الكائن (ترشدنا قيم الحدود المقابلة لسمات مختلفة في تحديد الحالات المختلفة).
  3. قم بتسمية الأحداث التي تؤدي إلى هذه التحولات.

مثال - مخطط الحالة لطلب عبر الإنترنت -

مخطط الدولة- UML

الشكل - مخطط الحالة لطلب عبر الإنترنت

تعتمد مخططات UMl التي نرسمها على النظام الذي نهدف إلى تمثيله. فيما يلي مجرد مثال على الشكل الذي قد يبدو عليه نظام الطلب عبر الإنترنت:

  1. في حالة استلام الطلب ، ننتقل من حالتنا الأولية إلى حالة الطلب غير المجهزة.
  2. ثم يتم فحص الطلب غير المعالج.
  3. إذا تم رفض الطلب ، ننتقل إلى حالة "الأمر المرفوض".
  4. إذا تم قبول الطلب ولدينا العناصر المتاحة ، فإننا ننتقل إلى حالة الطلب المستوفى.
  5. ومع ذلك ، إذا كانت العناصر غير متوفرة ، فإننا ننتقل إلى حالة الطلب المعلق.
  6. بعد تنفيذ الطلب ، ننتقل إلى الحالة النهائية. في هذا المثال ، نقوم بدمج الحالتين ، أي الأمر المنجز والأمر المرفوض في حالة نهائية واحدة.

ملاحظة - هنا يمكن أن نتعامل أيضًا مع الأمر المستوفى والأمر المرفوض كحالات نهائية بشكل منفصل.

كيف ترسم مخطط بدء الحالة How to Draw a Statechart Diagram?

يستخدم مخطط Statechart لوصف حالات الكائنات المختلفة في دورة حياته. يتم التركيز على التغييرات الدولة على بعض الأحداث الداخلية أو الخارجية. تعتبر حالات الكائنات هذه مهمة لتحليلها وتنفيذها بدقة.
 تعتبر مخططات Statechart مهمة جدًا لوصف الولايات. يمكن تحديد الحالات كحالة الكائنات عند حدوث حدث معين.
 قبل رسم مخطط Statechart ، يجب أن نوضح النقاط التالية -
  •  تحديد الأشياء الهامة التي يتعين تحليلها.
  •  تحديد الحالات.
  •  تحديد الأحداث.
 فيما يلي مثال على مخطط Statechart حيث يتم تحليل حالة حالة الطلب
  •  الحالة الأولى هي حالة الخمول من حيث تبدأ العملية. وصلت الحالات التالية لأحداث مثل طلب الإرسال وتأكيد الطلب وترتيب الإرسال. هذه الأحداث هي المسؤولة عن التغييرات حالة كائن النظام.
  •  خلال دورة حياة كائن ما (كائن ترتيب هنا) ، يمر عبر الحالات التالية وقد يكون هناك بعض المخارج غير الطبيعية. قد يحدث هذا الخروج غير الطبيعي بسبب بعض المشاكل في النظام. عند اكتمال دورة الحياة بأكملها ، تعتبر معاملة كاملة كما هو موضح في الشكل التالي. تظهر الحالة الأولية والأخيرة لكائن في الشكل التالي.
UML Statechart Diagram

اين يستخدم مخطط الحالة Where to Use Statechart Diagrams?

من المناقشة أعلاه ، يمكننا تحديد التطبيقات العملية لمخطط Statechart. تُستخدم مخططات Statechart لتصميم الجانب الديناميكي لنظام مثل المخططات الأربعة الأخرى التي تمت مناقشتها في هذا البرنامج التعليمي. ومع ذلك ، فإنه يحتوي على بعض الخصائص المميزة لنمذجة الطبيعة الديناميكية.
 يحدد مخطط Statechart حالات المكون وهذه التغييرات في الحالة ديناميكية في طبيعتها. الغرض المحدد منه هو تحديد التغييرات التي تحدثها الحالة. الأحداث هي عوامل داخلية أو خارجية تؤثر على النظام.
 تُستخدم مخططات Statechart لنمذجة الحالات وأيضًا الأحداث التي تعمل على النظام. عند تطبيق نظام ، من المهم للغاية توضيح حالات مختلفة لكائن ما أثناء فترة حياته ، ويتم استخدام مخططات Statechart لهذا الغرض. عندما يتم تحديد هذه الحالات والأحداث ، يتم استخدامها لوضع نماذج لها ويتم استخدام هذه النماذج أثناء تنفيذ النظام.
 إذا نظرنا في التطبيق العملي لمخطط Statechart ، فإنه يستخدم بشكل رئيسي لتحليل حالات الكائنات المتأثرة بالأحداث. هذا التحليل مفيد لفهم سلوك النظام أثناء تنفيذه.
 يمكن وصف الاستخدام الرئيسي بأنه -
  •  لنمذجة حالات كائن النظام.
  •  لنموذج النظام التفاعلي. يتكون رد الفعل من الأجسام التفاعلية.
  •  لتحديد الأحداث المسؤولة عن التغييرات الدولة.
  •  إلى الأمام وعكس الهندسة.
اقرأ أيضا عن:












التسميات: