• 1401/07/05

نوع ورودی جدول یک با یک جدول دیگر :

سلام

وقت بخیر

 

چطور میشه تو پایتون نوع ورودی یک جدول رو یک جدول دیگه قرار داد.

یعنی یک جدول (table) ساختم با نام user.

یک جدول دیگه ساختم با نام book که دو تا ورودی دارد. نام کتاب و کسی که کتاب را خریده.

معادل این در جنگو فارنکی هست.

در پایتون چی هست؟

 

با تشکر

 

 

  • 1401/07/07
  • ساعت 11:26

با سلام.

 

در پایتون نیز از همین ساختار برای ایجاد روابط بین جداول استفاده می شود. باید روابط بین جداول را نیز در دستورات SQLی که برای ساخت جداول به کار می برید، اضافه کنید. مثال زیر را ببینید:

 

create_user_table = """
CREATE TABLE user (
  user_id INT PRIMARY KEY,
  user_name VARCHAR(40) NOT NULL
);
"""

create_books_table = """
CREATE TABLE books(
  book_id INT,
  book_name VARCHAR(100) NOT NULL
  user_id INT,
  PRIMARY KEY(book_id, user_id),
  FOREIGN KEY(user_id) REFERENCES user(user_id) ON DELETE CASCADE
);
"""

 


  • 1401/07/08
  • ساعت 09:37

خیلی ممنون از راهنمایی شما

بعضی از این دستورات برای من ناشناخته هستند. اگه میشه یک منبعی معتبر معرفی کنید که این ها رو توضیح داده باشه.

اگه منبعی وجود نداره لطفا خود شما یه توضیح مختصر بدید.

خیلی ممنون از زحماتی که می کشید.


  • 1401/07/08
  • ساعت 15:30

خواهش می کنم.

 

اینها دستورات TSQL (Transact SQL) هستند. برای اطلاعات بیشتر می توانید این سایت را ببینید.

 

به طور خلاصه:

CREATE TABLE Table_Name (
    Field_Name Field_Type,
    ....
);

برای ساخت جدول به کار می رود که field_name همان فیلدهای جدول (ستون ها / columns) و field_type نوع داده آنرا مشخص می کند.

برای نوع داده varchar می توان اندازه کاراکترهای ورودی را تعریف کرد ( بر خلاف int) 

NOT NULL برای اینکه مقدار فیلد در زمان ایجاد رکورد، NULL (تهی) نباشد.

PRIMARY KEY : تعریف فیلد به عنوان کلید اصلی،

FOREIGN KEY: تعریف فیلد به عنوان کلید خارجی،

REFERENCES: به نام جدولی که به آن رابطه ایجاد می کنیم اشاره می کند،

ON DELETE CASCADE: نحوه حذف رکوردها را مدیریت می کند. در اینجا یعنی اگر کتابی حذف شود، تمام خریداران آن نیز حذف می شوند.


  • 1401/07/10
  • ساعت 05:26

واقعا ممنون از راهنمایی شما.

ببخشید خستتون کردم.

در زندگی خیر ببینید.

خدا نگه دار.


  • 1401/07/16
  • ساعت 18:20

خواهش می کنم. موفق باشید.


logo-enamadlogo-samandehi